我收到 InvalidURL: URL can't contain control characters 当我尝试使用 urllib 发送请求时

新手上路,请多包涵

我正在尝试从用作 urllib 请求参数的链接获取 JSON 响应。但它给了我一个错误,它不能包含控制字符。

我该如何解决这个问题?

 start_url = "https://devbusiness.un.org/solr-sitesearch-output/10//0/ds_field_last_updated/desc?bundle_fq =procurement_notice&sm_vid_Institutions_fq=&sm_vid_Procurement_Type_fq=&sm_vid_Countries_fq=&sm_vid_Sectors_fq= &sm_vid_Languages_fq=English&sm_vid_Notice_Type_fq=&deadline_multifield_fq=&ts_field_project_name_fq=&label_fq=&sm_field_db_ref_no__fq=&sm_field_loan_no__fq=&dm_field_deadlineFrom_fq=&dm_field_deadlineTo_fq =&ds_field_future_posting_dateFrom_fq=&ds_field_future_posting_dateTo_fq=&bm_field_individual_consulting_fq="

source = urllib.request.urlopen(start_url).read()

我得到的错误是:

 URL can't contain control characters. '/solr-sitesearch-output/10//0/ds_field_last_updated/desc?bundle_fq =procurement_notice&sm_vid_Institutions_fq=&sm_vid_Procurement_Type_fq=&sm_vid_Countries_fq=&sm_vid_Sectors_fq= &sm_vid_Languages_fq=English&sm_vid_Notice_Type_fq=&deadline_multifield_fq=&ts_field_project_name_fq=&label_fq=&sm_field_db_ref_no__fq=&sm_field_loan_no__fq=&dm_field_deadlineFrom_fq=&dm_field_deadlineTo_fq =&ds_field_future_posting_dateFrom_fq=&ds_field_future_posting_dateTo_fq=&bm_field_individual_consulting_fq=' (found at least ' ')

原文由 Talib Daryabi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.8k
1 个回答

将空格替换为:

 url = url.replace(" ", "%20")

如果问题出在空格上。

原文由 Manuel 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题