Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何对发送请求的原始URL字符串进行编码_Python_Python 2.7 - Fatal编程技术网

Python 如何对发送请求的原始URL字符串进行编码

Python 如何对发送请求的原始URL字符串进行编码,python,python-2.7,Python,Python 2.7,我需要通过电子邮件发送请求 request_url = "http://localhost:8005/materials/start_date=2012-01-29&end_date=2013-03-29&table_name=Unemployment rate + emplyment rate&measure=All" requests.get(request_url) 然而,我没有从Python中的请求中得到任何东西,但是我可以通过浏览器获得预期的响应,我认为这

我需要通过电子邮件发送请求

request_url = "http://localhost:8005/materials/start_date=2012-01-29&end_date=2013-03-29&table_name=Unemployment  rate + emplyment rate&measure=All"

requests.get(request_url)
然而,我没有从Python中的请求中得到任何东西,但是我可以通过浏览器获得预期的响应,我认为这是转义字符串的问题,如何以正确的方式进行

使现代化 我尝试了以下方法,但结果不等于
http://localhost:8005//materials/start_date=2012-01-29和结束日期=2013-03-29和表格名称=失业率%20

    p = {
        "start_date": start_date,
        "end_date": end_date,
        "table_name": table_name
    }
    req = requests.get(request_url, params=p)

将字典作为
请求的
参数传递给
请求。获取
并让库处理构建参数的操作,例如:

request_url = "http://localhost:8005/materials/"
requests.get(request_url, params={
    'start_date': '2012-01-29',
    'end_date': '2013-03-29',
    # etc....
    }
) 
如果服务器坚持不接受它应该接受的
,那么:

from urllib import urlencode
requests.get(request_url + urlencode({
    'start_date': '2012-01-29',
    'end_date': '2913-03-29'})
)

您好,谢谢您的回复,但方法与
http://localhost:8005//materials/start_date=2012-01-29&end_date=2013-03-29&table_name=deployee%20rate
http get方法因此服务器不需要正确的
?key1=value1&key2=value2
格式的查询参数?事实上,它期望这是路径的一部分!?您好,我可以删除前导的
问号吗?服务器不希望这样。@user3675188我已经更新了答案,包括使用
urlencode
,它将进行转义,并提供一个没有前导的字符串