本文介绍了提交POST请求到aspx页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在https://searchlight.cluen.com/E5/CandidateSearch.aspx上有一个形式,我想提交和分析的信息。

使用Python的urllib而urllib2的我创建了正确的头和用户代理POST请求。但所得的HTML响应不包含结果的预期表。我误解还是我失去了任何明显的细节?

 进口的urllib
    进口的urllib2    标题= {
        HTTP_USER_AGENT:Mozilla的/ 5.0(视窗; U; Windows NT的5.1; EN-US; RV:1.9.0.13)的Gecko / 2009073022火狐/ 3.0.13,
        HTTP_ACCEPT:text / html的,是application / xhtml + xml的,应用/ XML; Q = 0.9,* / *; Q = 0.8',
        内容类型:应用程序/ x-WWW的形式urlen codeD
    }
    #无法查看https://searchlight.cluen.com/E5/CandidateSearch.aspx源获得的这些值
    视图状态='/ wEPDwULLTE3NTc4MzQwNDIPZBYCAg ... uJRWDs / 6Ks1FECco ='
    eventvalidation ='/ wEWjQMC8pat6g4C77jgxg0CzoqI8wgC3uWinQQCwr / ... oPKYVeb74 ='
    URL ='https://searchlight.cluen.com/E5/CandidateSearch.aspx
    FORMDATA =(
        (__VIEWSTATE,视图状态),
        (__EVENTVALIDATION',eventvalidation)
        ('__EVENTTARGET',''),
        ('__EVENTARGUMENT',''),
        ('textcity',''),
        ('dropdownlistposition',''),
        ('dropdownlistdepartment',''),
        ('dropdownlistorderby',''),
        ('TEXTSEARCH',''),
    )    #更改用户代理
    从进口的urllib FancyURLopener
    类MyOpener(FancyURLopener):
        版本='的Mozilla / 5.0(视窗; U; Windows NT的5.1;它; RV:1.8.1.11)的Gecko / 20071127火狐/ 2.0.0.11    myopener = MyOpener()    #恩code的请求后格式的表单数据
    EN codedFields = urllib.urlen code(FORMDATA)    F = myopener.open(URL,连接codedFields)
    打印f.info()    尝试:
      FOUT =打开('tmp.htm','W')
    除:
      打印(无法打开输出文件\\ n)    fout.writelines(f.readlines())
    fout.close()

有关于这个话题,是有帮助的(如的页),但我卡在这一点,并寻求更多的帮助,如果这是可能的。

生成的HTML页面是说我可能需要登录,但aspx页面显示在浏览器中没有任何登录。

下面是从信息()的结果:

解决方案

I tried mechanize and urllib2, and mechanize handles cookies better. I can submit the form simply by specifying with mechanize:

    browser= mechanize.Browser()
    browser.select_form(form_name)
    browser.set_value("Page$Next", name="pagenumber")

It was not necessary to replicate the post request manually, and mechanize in this case was able to handle a form that relies on javascript.

这篇关于提交POST请求到aspx页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-05 12:23
查看更多