2013-04-20 103 views
0

如果我手动尝试在浏览器中使用它,如果我输入第一个url后跟第二个url.But如果我没有输入第一个url,第二个url失败了。所以,我试着用第一个url来获取cookie并在第二个url中使用它们,但它仍然给我http 500错误。请帮助我。需要验证第二个基于python的第一个请求的HTTP请求

我迄今为止代码:

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() 

回答

0

我得到一个500错误,如果我进入第一个URL,然后第二个网址。作为替代,你可以尝试使用机械化来看看你是否有更好的运气。您错过了第一个网址的开头引号。

+0

我尝试过机械化...它仍然无法工作...任何其他方式来做到这一点? – user2284140 2013-04-22 19:28:20

+0

任何人都可以请帮我吗? – user2284140 2013-04-26 04:03:17

+0

你说你可以手动做,但我不能手动做,所以我们有一个沟通问题。 – 7stud 2013-04-26 23:54:20

相关问题