使用 curl 设置单选按钮的检查属性



我正在使用 curl 发布到 Web 表单,但我在使用单选按钮时遇到问题。我将值传递给参数,但是当我拨打电话时,站点回复告诉我必须选择一个选项。我认为有一些javascript验证要求checked属性。有什么形式可以绕过这个吗?也许设置检查属性,然后制作卷曲帖子?这是表单的 html 代码:

<div class="unit"><input type="radio" tabindex="11" value="4" id="atrib_1" name="attr_frete" class="radio_bt"></div> <label for="atrib_gratis" class="radio_label">Flete 1</label> <div class="unit"><input type="radio" tabindex="11" value="5" id="atrib_2" name="attr_frete" class="radio_bt"></div> <label for="atrib_gratis" class="radio_label">Flete 2</label></div>

这是 PHP 中要发布的代码:

$parametros_post = array('STEP'=>$value1,'qb4_cat_id' =>$value2,'title'=>$model->Titulo,'description'=>$model->Descripcion,'tag_1' =>'','tag_2' =>'','tag_3' =>'','tag_4' =>'','tag_5' =>'','tag_6' =>'','attrib_34' =>'414','dinheiro' =>'true','deposito-bancario' =>'false','cheque' =>'false','cartao-credito' =>'false','combinar' =>'false','bb_file_input' =>$foto1,'preco' =>$model->Precio,'qt_estoque' =>'1','attr_frete' =>'5');
$result = $this->PostCurl("http://www.site.com/publicar-anuncio-gratis.html?sent=true",$parametros_post);
function PostCurl($url,$parametros_post){
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
        curl_setopt($ch,CURLOPT_HTTPHEADER,array("Accept-Language: es-es,en"));
        curl_setopt($ch,CURLOPT_POST,true);
        curl_setopt($ch,CURLOPT_POSTFIELDS,$parametros_post);
        curl_setopt($ch,CURLOPT_HEADER,true);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
        curl_setopt($ch,CURLOPT_COOKIEJAR,'cookies.txt');
        curl_setopt($ch,CURLOPT_COOKIEFILE,'cookies.txt');
        curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
        $result = curl_exec($ch);
        $rerror = curl_error($ch);
        curl_close($ch);
        if ($rerror != ""){
            return $rerror;
        }
        else
            return $result;
    }

你想错了。没有 Javascript 干扰你的 curl 请求。它都是服务器端的,在分析要用curl发送的表单时,您可能错过了一些现在缺少的重要字段。

如果您使用原始表单,发布请求是什么样子的?当你使用卷曲时它是什么样子的?如果你比较这两者,你应该发现区别。

如果没有,您可能会怀疑正在进行一些针对自动请求的检查,但目前还没有证据。

最新更新