1

したがって、外部 URL (別のドメイン) を呼び出す必要があるこのメソッドがあります。curl を使わずにこれを行う方法はありますかhttp://192.168.2.2:9090/send?num=100&txt=text;?

yii-curl エクステンションで curl を使用しようとしたことを明確にする必要があると思いますが、どういうわけかうまくいかないようです。フォーマットされた URL 全体を指定すると機能しますが、num と txt のパラメーターを使用して URL を変更しようとすると、何らかの理由で機能しません。できればcurlのない解決策を探していますが、それが不可能な場合は、適切なURLをフォーマットして実行する方法についていくつかの助けを借りて、URLにパラメータを提供することもできます. ありがとう。

編集: URL は実際には SMS を送信する SMS ゲートウェイへのものであるため、file_get_contents() は機能しないと思います。電話番号と SMS テキストは、params として提供されます。推測が間違っている場合はお知らせください。

編集2 :これは、ここでの提案の後に試したものです。

public function sendTXTSMS($sentToNum,$text)
        {

            $construct_url="http://192.168.2.2:9090/send?num={$sentToNum}&txt={$text}";
            file_get_contents($construct_url);
        }

そして、それを次のように呼び出します。

    $text='Lorem ipsum dolor ........ ';
$this->sendTXTSMS(XXXXXXXXXX,$text)

XXXXXXXXXX はもちろん、ここでマスクされている電話番号です。

今、私は HTTP request failed! HTTP/1.1 400 Bad Requestエラーが発生しています。allow_url_fopen が有効になっており、ブラウザに入力して URL にアクセスできます。また、URLでurlencodeを使用してみました。

4

4 に答える 4

1

GET リクエストの場合は、 を使用できますfile_get_contents($url);

さらにオプションが必要な場合は、HTTP ライブラリを試すことができますが、libcurl を直接使用しない理由はほとんどありません。それは標準的な練習です。

SMS に関連するサービスに接続しているという事実は関係ありません。接続できるサーバー上の Web サービスの URL である場合は、その URL に対して要求を行うことができます。

于 2013-10-08T21:04:14.200 に答える
0

はい、 http://php.net/manual/en/function.file-get-contents.phpを使用できますfile_get_contents

于 2013-10-08T21:04:25.173 に答える
0

httpステータスコードを簡単に処理できるため、curlを使用することをお勧めします...

ただし、curl の有無にかかわらず、URL を正しく作成する必要があり、urlurlencodeではなく params で使用する必要があります。

$sentToNum = urlencode($sentToNum);
$text = urlencode($text);
$construct_url="http://192.168.2.2:9090/send?num={$sentToNum}&txt={$text}";
于 2013-10-08T22:03:27.783 に答える