1

PHPでサーバーにリクエストを送信しようとすると、問題が発生するようです。http api リクエストは次のようなものです。

https://www.quickbase.com/db/basddzvkb?act=API_DoQuery&ticket=6_bsdaaap8y_by5bx6_b_crji7wwewew3b9asd5zibmf8jh3bhsdsddvhruc9csquzdg9bzw4&apptoken=cgsb5xdwehusdaaagcjs222dz9&fct=structured&query={'22 '.

エラーが発生していると思われるphpのコードの次の部分があります。

else
    {
        $ch = curl_init($input);
        curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        //curl_setopt($ch, CURLOPT_POST, true);
        $this->input = $input;

    }

    $r = curl_exec($ch);

    print_r(curl_getinfo($ch));


    if($return_xml) {
        $response = new SimpleXMLElement($r);
    }

これは、print_r(curl_getinfo($ch)) ステートメントから取得したものです。

[content_type] => text/html [http_code] => 400 [header_size] => 129 [request_size] => 251 [filetime] => -1 [ssl_verify_result] => 20 [redirect_count] => 0 [total_time] => 0.281 [namelookup_time] => 0 [connect_time] => 0.063 [pretransfer_time] => 0.188 [size_upload] => 0 [size_download] => 20 [speed_download] => 71 [speed_upload] => 0 [download_content_length] => 20 [ upload_content_length] => 0 [starttransfer_time] => 0.281 [redirect_time] => 0 [certinfo] => Array ( )

また、curlopt_post をコメントアウトしたことがわかるように、別の API リクエストを実行しているときに問題が発生していたためです。解決策が何であるかわかりません。私はこの問題をしばらく見てきましたが、誰かが私を助けてくれることを願っています:)

4

1 に答える 1

1

Datasage は、この答えを思い付くのに役立ちました。基本的には、urlencode("{'22'.ct.'test'}"); を追加する必要があります。コードのこの部分に追加すると、正しい出力が生成されます。

于 2011-06-17T17:55:46.447 に答える