我有一个Python GUI,通过通过设备网页发送帖子来与某些实验室设备进行交互。我使用Chrome Developer工具来找出要为每个功能发送的信息,并且此方法适用于网页上的一个按钮。
上的一个按钮。开发人员工具的相关输出在这里
所以我将此代码作为邮政请求
发送Post_data={'SUBMIT_FLOW' :'Zero Flow',
'PRES_VAL' :''}
Encoded_data=urllib.urlencode(Post_data)
Request = urllib2.Request(url+'/configure_html_zero', Encoded_data)
我每隔一次完成此策略时,设备将运行我想要的功能,但是对于此功能,它不起作用。如果我解开对该请求的响应,我会得到
<addinfourl at 205604872L whose fp = <socket._fileobject object at 0x000000000EE8F408>>
这是此功能对应于
的HTML代码的部分<td class="main_table_data">
<table ID="Zero" class="inner_table" cellspacing="0" width="100%">
<form name="config_zero" method="post" action="configure_html_zero">
<tr>
<td><input type="submit" value="Zero Flow" name="SUBMIT_FLOW" ID="ZeroFlow"></td>
</tr>
<tr>
<td> </td>
</tr> <!-- End Labels -->
<tr>
<td><input type="submit" value="Zero Pressure" name="SUBMIT_PRES" ID="ZeroPressure"><input type="text" name="PRES_VAL" size="10"></td>
</tr>
</form>
</table>
</td>
我根本不知道HTML,所以我不知道这是否有价值。
,如果有任何兴趣,这就是网站上的表格
上的样子我没有将数据发送到错误的URL,并且我正在使用程序中的其他时间相同的过程。知道为什么这个不同吗?这与" pres_val"的空白值有关吗?
resp.read()
和 resp.getcode()
应该包含您遇到的任何潜在问题的描述。resp.getcode()
除了2xx以外的其他地方吗?您应该检查https://en.wikipedia.org/wiki/list_of_http_status_codes。如果resp.read()
很长,则可能具有HTML页面的内容,您可以将内容保存在HTML文件中,并使用浏览器查看以检查它是否包含任何问题的指示(验证错误(。没有实际设备和整个REQ/响应信息,除了提供调试技巧外,没有人可以帮助您。