需要根据python中的第一个请求验证第二个HTTP请求

时间:2013-04-20 23:26:57

标签: http python-2.7

如果我手动尝试在浏览器中执行此操作,如果我输入第一个网址后跟第二个网址。但是如果我没有输入第一个网址,那么第二个网址会失败。所以,以编程方式我试图使用第一个网址获取cookie并在第二个网址中使用它们。但它仍然给我http 500错误。请帮助我。

到目前为止我的代码:

import urllib, urllib2, cookielib

cookie_jar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
urllib2.install_opener(opener)

# acquire cookie
url_1 = 'http://www.nsf.gov/awardsearch/simpleSearchResult?queryText=9&ActiveAwards=true'
req = urllib2.Request(url_1)
rsp = urllib2.urlopen(req)

# make 2nd request
url_2 = 'http://www.nsf.gov/awardsearch/ExportResultServlet?exportType=txt'
req = urllib2.Request(url_2)
rsp = urllib2.urlopen(req)
content = rsp.read()

# print result
import re
pat = re.compile('Title:.*')
print pat.search(content).group()

1 个答案:

答案 0 :(得分:0)

如果我输入第一个网址后跟第二个网址,我会收到500错误。作为替代方案,您可以尝试使用机械化来查看您是否有更好的运气。你错过了第一个网址的起始引号。