从HTTP标头复制Post操作

时间:2015-07-20 06:28:39

标签: html http url post header

我正在尝试向网站发送远程帖子操作,以特定间隔自动从一种状态更改为另一种状态,但是,我无法解密HTTP标头信息以获得所需结果。每当我发帖子时网站都不接受,所以很明显我已经错误地解析了帖子。

我捕获的工作HTTP头信息如下:

SELECT table_name AS "Tables", 
round(((data_length + index_length) / 1024 / 1024), 2) "Size in MB" 
FROM information_schema.TABLES 
WHERE table_schema = "$DB_NAME"
ORDER BY (data_length + index_length) DESC;

任何人可以提供给我的帮助都会很棒。我真的只想了解如何将相同的参数传递给网站,以便我可以复制该功能。

由于

1 个答案:

答案 0 :(得分:0)

您需要发送请求行,标题,空白行,然后发送数据(如果是POST请求)。对于上面的例子,这应该是这样的:

POST /p/9998812/update_availability HTTP/1.1
Host: URLXXX.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101     Firefox/39.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Referer: http://URLXXX.com/p/9998812/s/fwkA-irHT-2kMfS
Cookie: 
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 138

utf8=%E2%9C%93&_method=put&authenticity_token=xMiaIdT%2Fnw%2FPbsYq%2BmVaLFnH362HIvIdXQQX3D%2F4uEo%3D&product%5Bstate%5D=active&commit=Save

您没有说明您使用什么来向服务器发出请求。有几个非常强大的工具(例如用于Unix / Linux系统的curl),以及许多非常强大且友好的库(例如Python的requests)几乎适用于所有语言,您可以使用它们发出HTTP请求。这些为您处理协议细节做了很多工作。

如果您使用较低级别的网络库编写自己的HTTP客户端,则应认真考虑使用其中一种工具。如果您有充分的理由不这样做,您应该查看指定HTTP的RFC:http://www.w3.org/Protocols/rfc2616/rfc2616.html或HTTP上的综合资源。