我建立了一个简单的网站,上面只有一个表单,这样我就可以练习用Python:http://www.wix.com/yoshyaro/status-check填写表单。在
查看urllib2-缺少的手册,我的代码配置如下
url = 'http://www.wix.com/yoshyaro/status-check'
values = {'name':"my name",
'email':"yoshyaro@yahoo.com",
'subject':"Subject",
'Message':"Hello"}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
根据我的理解,这段代码可以正常工作,我们将向服务器发送一个POST请求,其中包含请求中打包的所有表单数据。然而,我使用的方法一定是做错了,因为什么都没有发生。我没有收到任何确认邮件。在
所以我手工填写了表格,点击提交,然后看了Chrome的网络标签。我看到一个POST请求包含以下信息。在
^{pr2}$我注意到的第一件事是请求URL与我设置的URL不同。所以我把代码改成:
url = 'http://editor.wix.com/wixpress/sendEmail.jspx'
values = {'name':"my name",
'email':"yoshyaro@yahoo.com",
'subject':"Subject",
'Message':"Hello"}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
但运行此命令会产生一个http403错误:Forbidden。现在我不再假设我要做的就是以适当的方式重新创建一个HTTP请求,我开始再次查看Network选项卡,看看这样的请求到底是什么样子的。在这一点上,我的计划是尝试用手重新制作一个。然而,这就是我的困境。我没有看到任何关于POST请求中实际内容的信息。我看到了输出结果,“[name]向您发送了一条消息”,在发布后会显示出来,但是我在任何地方都找不到任何实际的表单值。在
所以我就在这里。我不确定如何重新创建一个POST请求,因为我甚至不确定一个POST请求的外观。。在
你应该试试requests包
相关问题 更多 >
编程相关推荐