PHP cURL提交POST数据,multipart / form

因此,我建立了一个网站,它将使用数据库中的数据填写不同网站上的表单。 现在我明白,使用cURL或python可以很容易地完成这项工作,但是当我拦截并读取发布数据时,这通常是一个巨大的混乱。 例如在这个表格中,只有一个评论和评分选项,但包含所有类型的其他垃圾:

-----------------------------122061295120255
Content-Disposition: form-data; name="StylesheetManager_TSSM"

-----------------------------122061295120255 Content-Disposition: form-data; name="ScriptManager_TSM"

-----------------------------122061295120255 Content-Disposition: form-data; name="__EVENTTARGET"

dnn$ctr459$viewNukeNews$ctl00$ctlViewNewsComments$lbSaveCommentsRating -----------------------------122061295120255 Content-Disposition: form-data; name="__EVENTARGUMENT"

-----------------------------122061295120255 Content-Disposition: form-data; name="__VIEWSTATE"

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 -----------------------------122061295120255 Content-Disposition: form-data; name="__VIEWSTATEGENERATOR"

CA0B0334 -----------------------------122061295120255 Content-Disposition: form-data; name="__VIEWSTATEENCRYPTED"

-----------------------------122061295120255 Content-Disposition: form-data; name="__EVENTVALIDATION"

tA4eGr1Xgh239z393i4iChEPuFYs10biEg4Ym9fZu0aLDt7H4yWECsFXKjtzX7fHWn9WDNOm4a+nPf+qka4hzEpBfm3zRotMOrkEzCm61aM+pbZgaqhQjMPpsDhT3t6k8NkeqaSkUIyFKbXYkpx4GTyyCk0s3UPlqFR8klie6NTAkt0qPH5cjc0GzVRmMBZ5GTbA+L4oGOCgDFpCZ7SFU+/VS+37gRU3YarzwmelKqRNYutT9MwJc5beUUxCNBm6r2Zdeb8OnQnpZR2KlNT8EP+x5+Wsj9Q738H7jX5p2rCNEqmH6mK1wAVM5Rqzo8JTFdtQ6da7PAi9uMj89Vq+LXlf/6BR9vlpEk1cozY9Ny4xdZr8xKSVUYcuJYQ= -----------------------------122061295120255 Content-Disposition: form-data; name="dnn$dnnSEARCH$txtSearch"

-----------------------------122061295120255 Content-Disposition: form-data; name="dnn$ctr459$viewNukeNews$ctl00$ctlViewNewsComments$rblRating"

3 -----------------------------122061295120255 Content-Disposition: form-data; name="dnn$ctr459$viewNukeNews$ctl00$ctlViewNewsComments$tbComments"

COMMENT GOES HERE -----------------------------122061295120255 Content-Disposition: form-data; name="ScrollTop"

260 -----------------------------122061295120255 Content-Disposition: form-data; name="__dnnVariable"

{"__scdoff":"1","containerid_dnn_ctr459_ModuleContent":"459","cookieid_dnn_ctr459_ModuleContent":"_Module459_Visible","min_icon_459":"/Portals/_default/Containers/Apple-Orange/min.gif","max_icon_459":"/Portals/_default/Containers/Apple-Orange/max.gif","max_text":"Maximize","min_text":"Minimize"} -----------------------------122061295120255--

这不是我要发布的网站,但它是我正在处理的与我将合作的网站类型的非常好的代表。 我知道如何使用multipart / form-data发布,但是我应该如何处理“__EVENTVALIDATION”等字段?
编辑:添加将使用的代码
function post_data($site,$data){
    $datapost = curl_init();
    $headers = array("Content-Type: multipart/form-data; boundary=---------------------------86732602411937");
    curl_setopt($datapost, CURLOPT_URL, $site);
    curl_setopt($datapost, CURLOPT_TIMEOUT, 40000);
    curl_setopt($datapost, CURLOPT_HEADER, TRUE);
    curl_setopt($datapost, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($datapost, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($datapost, CURLOPT_POST, TRUE);
    curl_setopt($datapost, CURLOPT_POSTFIELDS, $data);
    curl_setopt($datapost, CURLOPT_COOKIEFILE, "cookie.txt");
    ob_start();
    return curl_exec ($datapost);
    ob_end_clean();
    curl_close ($datapost);
    unset($datapost);
}


我以前处理过这些类型的表单。 他们是一种痛苦。 我所做的是:

  • cURL页面,没有POST数据或任何东西
  • 解析HTML以获取表单元素及其当前值
  • 更改您需要设置的字段的值
  • 将所有内容格式化为POST数组
  • 用该POST数据再次卷曲页面。
  • 哦,有时会有像__EVENTTYPE这样的字段需要设置为特定的字符串以用于所需的事件。 为了帮助细分第二个curl的外观,请使用Chrome开发人员工具查看很好的解析请求。 你甚至可以把它作为卷曲来复制。

    链接地址: http://www.djcxy.com/p/48897.html

    上一篇: PHP cURL Submitting POST data, multipart/form

    下一篇: data body of request using a php proxy