需要帮助HTTP帖子中的正确值(我认为)

时间:2011-01-30 18:20:48

标签: php http-post

所以我以前从未使用过PHP或http发布或其他任何内容,所以如果我问一些愚蠢的话,请原谅。

这是一个网站,所以我可以更准确地解释我需要什么。

http://nycserv.nyc.gov/NYCServWeb/NYCSERVMain

所以我想写一些能得到结果页面信息的东西,好像我点击了“消费者公平违规”旁边的“开始”按钮。在做了一堆谷歌搜索之后,我想我应该做HTTP发布,所以我一直在搞乱PHP和CURl。这是我想出的代码,虽然我不确定我应该发布什么值。

<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://nycserv.nyc.gov/NYCServWeb/NYCSERVMain");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);

$data = array(
    'dcadropdownmenu.name' => 'javascript:consumerAffairsViolationsQuerySetup("GET_CONSUMER_AFFAIRS_VIOLATION_SEARCH_QUERY_SETUP")');

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);

print $info;
print $output;
?>

我很确定我不应该设置dvaddropdowmenu.name,但我不知道我应该发布什么。任何帮助都会很棒。

更新 所以我终于开始工作了。我现在遇到的问题是如何在原始的返回页面上再次发布HTTP。我的意思是,我是从页面返回HTML,就像我点击Go按钮一样。现在我需要点击此返回页面上的搜索按钮。我尝试过只更改post变量和exec'ing,但这不起作用。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

需要花一些时间来挖掘JavaScript,但这是实际提交的表单:

form name=​"NycservProtocolForm" method=​"POST" action=​"NYCSERVMain">​
    <center>​…​</center>​
    <!--    N Y C S E R V   P R O T O C O L    -->
    <input type=​"HIDDEN" name=​"ChannelType" value=​"ct/​Browser">​
    <input type=​"HIDDEN" name=​"RequestType" value=​"rt/​Business">​
    <input type=​"HIDDEN" name=​"SubSystemType" value=​"st/​Payments">​
    <input type=​"HIDDEN" name=​"AgencyType" value=​"at/​PVO">​
    <input type=​"HIDDEN" name=​"ServiceName" value=​"NONE">​
    <input type=​"HIDDEN" name=​"MethodName" value=​"NONE">​
    <input type=​"HIDDEN" name=​"PageID" value=​"NYCSERVHome">​
    <input type=​"HIDDEN" name=​"ParamCount" value=​"0">​
    <input type=​"HIDDEN" name=​"NycservRequest" value=​"EMPTY">​
    <input type=​"HIDDEN" name=​"SearchType" value=​"EMPTY">​
    <input type=​"HIDDEN" name=​"LinkType" value=​"EMPTY">​
</form>

根据您对表单的熟悉程度,您可以决定发送这些参数的数量。但这些是您在发送POST请求时要指定的变量。