Questions tagged «python-requests»

仅用于PYTHON请求库。Requests是功能齐全的Python HTTP库,具有易于使用的逻辑API。


5
我可以为request.request设置max_retries吗?
Python的请求模块既简单又优雅,但有一件事困扰着我。有可能得到一个 requests.exception.ConnectionError有这样的消息: Max retries exceeded with url: ... 这意味着请求可以尝试多次访问数据。但是在文档的任何地方都没有提及这种可能性。在源代码中,我没有找到可以更改默认值(大概为0)的地方。 那么是否有可能以某种方式设置请求的最大重试次数?

19
python请求超时。获取整个响应
我正在收集网站列表上的统计信息,为了简化起见,我使用了请求。这是我的代码: data=[] websites=['http://google.com', 'http://bbc.co.uk'] for w in websites: r= requests.get(w, verify=False) data.append( (r.url, len(r.content), r.elapsed.total_seconds(), str([(l.status_code, l.url) for l in r.history]), str(r.headers.items()), str(r.cookies.items())) ) 现在,我想requests.get在10秒后超时,以免循环陷入困境。 这个问题以前也很有趣,但是没有一个答案是正确的。我将为此悬赏,以得到一个不错的答案。 我听说也许不使用请求是个好主意,但是我应该如何获得请求所提供的好处。(元组中的)

10
带有Python'请求'模块的代理
简短,简单的介绍了出色的Python 请求模块。 我似乎在文档中找不到变量“代理”应包含的内容。当我发送带有标准“ IP:PORT”值的字典时,它拒绝要求2个值。所以,我猜(因为在文档中似乎没有涵盖),第一个值是ip,第二个值是端口? 文档只提到了这一点: 代理–(可选)字典到代理URL的映射协议。 所以我尝试了...我应该怎么做? proxy = { ip: port} 在将它们放入字典之前,我应该将它们转换为某种类型吗? r = requests.get(url,headers=headers,proxies=proxy)



12
请求中的URL超过了最大重试次数
我正在尝试获取App Store> Business的内容: import requests from lxml import html page = requests.get("https://itunes.apple.com/in/genre/ios-business/id6000?mt=8") tree = html.fromstring(page.text) flist = [] plist = [] for i in range(0, 100): app = tree.xpath("//div[@class='column first']/ul/li/a/@href") ap = app[0] page1 = requests.get(ap) 当我尝试range使用(0,2)它时,但是当我使用rangein 时,100它显示此错误: Traceback (most recent call last): File "/home/preetham/Desktop/eg.py", line 17, in <module> page1 …

3
带有参数数据的Python请求发布
这是对API调用的原始请求: POST http://192.168.3.45:8080/api/v2/event/log?sessionKey=b299d17b896417a7b18f46544d40adb734240cc2&format=json HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: application/json Content-Length: 86 Host: 192.168.3.45:8080 Connection: Keep-Alive User-Agent: Apache-HttpClient/4.1.1 (java 1.5) {"eventType":"AAS_PORTAL_START","data":{"uid":"hfe3hf45huf33545","aid":"1","vid":"1"}}""" 该请求返回成功(2xx)响应。 现在,我尝试使用发送此请求requests: >>> import requests >>> headers = {'content-type' : 'application/json'} >>> data ={"eventType":"AAS_PORTAL_START","data{"uid":"hfe3hf45huf33545","aid":"1","vid":"1"}} >>> url = "http://192.168.3.45:8080/api/v2/event/log?sessionKey=9ebbd0b25760557393a43064a92bae539d962103&format=xml&platformId=1" >>> requests.post(url,params=data,headers=headers) <Response [400]> 一切对我来说看起来不错,我不太确定自己张贴的错误是什么引起400响应。


1
请求-如何判断您是否收到404
我正在使用请求库并通过以下代码访问网站以从中收集数据: r = requests.get(url) 我想为输入不正确的URL并返回404错误时添加错误测试。如果我有意输入无效的URL,请执行以下操作: print r 我得到这个: <Response [404]> 编辑: 我想知道如何测试。对象类型仍然相同。当我执行r.content或时r.text,我仅获得自定义404页面的HTML。

4
如何使用Python请求伪造浏览器访问?
我想从下面的网站获取内容。如果使用Firefox或Chrome这样的浏览器,则可以获取所需的真实网站页面,但是如果使用Python request软件包(或wget命令)进行获取,则它将返回完全不同的HTML页面。我以为网站的开发人员为此做了一些阻碍,所以问题是: 如何使用python请求或命令wget伪造浏览器访问? http://www.ichangtou.com/#company:data_000008.html

5
如何在asyncio中使用请求?
我想在其中执行并行http请求任务asyncio,但是我发现这python-requests会阻止的事件循环asyncio。我找到了aiohttp,但它无法使用http代理提供http请求的服务。 所以我想知道是否有一种方法可以借助进行异步http请求asyncio。

4
python请求文件上传
我正在执行一个使用Python请求库上传文件的简单任务。我搜索了Stack Overflow,似乎没有人遇到相同的问题,即服务器未收到该文件: import requests url='http://nesssi.cacr.caltech.edu/cgi-bin/getmulticonedb_release2.cgi/post' files={'files': open('file.txt','rb')} values={'upload_file' : 'file.txt' , 'DB':'photcat' , 'OUT':'csv' , 'SHORT':'short'} r=requests.post(url,files=files,data=values) 我用文件名填充了'upload_file'关键字的值,因为如果我将其保留为空白,则表示 Error - You must select a file to upload! 现在我明白了 File file.txt of size bytes is uploaded successfully! Query service results: There were 0 lines. 仅当文件为空时才会出现。因此,我对如何成功发送文件感到困惑。我知道该文件有效,因为如果我访问此网站并手动填写表格,它将返回一个很好的匹配对象列表,这就是我想要的。我非常感谢所有提示。 其他一些相关的线程(但不能回答我的问题): 使用POST从Python脚本发送文件 http://docs.python-requests.org/zh-CN/latest/user/quickstart/#response-content 使用请求上传文件并发送额外的数据 http://docs.python-requests.org/zh_CN/latest/user/advanced/#body-content-workflow

2
“内容”和“文本”有什么区别
我正在使用很棒的Python Requests库。我注意到,精美的文档中有许多示例,说明了如何做某事而不解释其原因。例如,r.text和r.content都作为如何获得服务器响应的示例显示。但是,这些属性在哪里解释呢?例如,我什么时候会选择一个?我看到thar 有时会r.text返回一个unicode对象,并且我想非文本响应会有所不同。但是,所有这些都记录在哪里?请注意,链接文档确实声明: 对于非文本请求,您还可以字节形式访问响应主体: 但随后继续显示文本响应的示例!我只能假设上面的引号是说non-text responses而不是non-text requests,因为非文本请求在HTTP中没有意义。 简而言之,相对于Python Requests网站上的(优秀)教程,该库的正确文档在哪里?

8
Python请求和持久会话
我正在使用请求模块(Python 2.5的版本0.10.0)。我已经找到了如何将数据提交到网站上的登录表单并检索会话密钥的方法,但是我看不到在后续请求中使用此会话密钥的明显方法。有人可以在下面的代码中填写省略号还是建议其他方法? >>> import requests >>> login_data = {'formPosted':'1', 'login_email':'me@example.com', 'password':'pw'} >>> r = requests.post('https://localhost/login.py', login_data) >>> >>> r.text u'You are being redirected <a href="profilePage?_ck=1349394964">here</a>' >>> r.cookies {'session_id_myapp': '127-0-0-1-825ff22a-6ed1-453b-aebc-5d3cf2987065'} >>> >>> r2 = requests.get('https://localhost/profile_data.json', ...)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.