[英]syntax assistance on HTTP 400 Bad Request response on urllib2.urlopen
[英]urllib2.urlopen raises HTTP Error 400: Bad Request
我正在嘗試使用urllib2下載pdf。 問題是它引發了urllib2.HTTPError: HTTP Error 400: Bad Request
。
我想問題可能是網址的形式。 我試過應用urllib2.quote
方法,但它沒有幫助。
網址: http://www.epi.sk/Main/Download.aspx?fn=\\OV\\15\\OV2015072a$ce10308b-264c-400a-81ad-e643c08a7364.pdf&ofn=15\\OV2015072a.pdf
: http://www.epi.sk/Main/Download.aspx?fn=\\OV\\15\\OV2015072a$ce10308b-264c-400a-81ad-e643c08a7364.pdf&ofn=15\\OV2015072a.pdf
fn = http://www.epi.sk/Main/Download.aspx?fn=\\OV\\15\\OV2015072a$ce10308b-264c-400a-81ad-e643c08a7364.pdf&ofn=15\\OV2015072a.pdf
e643c08a7364.pdf& http://www.epi.sk/Main/Download.aspx?fn=\\OV\\15\\OV2015072a$ce10308b-264c-400a-81ad-e643c08a7364.pdf&ofn=15\\OV2015072a.pdf
def download_file(download_url,name):
response = urllib2.urlopen(download_url)
with open(name, 'wb') as file:
file.write(response.read())
download_file('http://www.epi.sk/Main/Download.aspx?fn=\OV\15\OV2015072a$ce10308b-264c-400a-81ad-e643c08a7364.pdf&ofn=15\OV2015072a.pdf','files.pdf')
你知道問題出在哪里嗎?
其中一個反斜杠導致字符串的一部分被解釋為轉義序列:
'http://www.epi.sk/Main/Download.aspx?fn=\OV\15\OV2015072a$ce10308b-264c-400a-81ad-e643c08a7364.pdf&ofn=15\OV2015072a.pdf'
^^^
\\15
被解釋為回車的轉義序列:
>>> '\15'
'\r'
通過在r
前面添加字符串使字符串成為原始字符串,Python不會解釋這些轉義序列:
>>> r'\15'
'\\15'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.