0

httpサーバーを使用してリモートで動作するSMS Androidアプリがあります。次のような形成されたURLリクエストを取得する必要があります。

http://server.com:9090/sendsms?phone=123456789&text=foobar&pass=123456

その URL をブラウザのアドレス バーに入力して Enter キーを押すと、アプリから SMS が送信されます。私はcurlが初めてで、テスト方法がわかりません。これまでのコードは次のとおりです。

  $phonenumber= '12321321321'
  $msgtext    = 'lorem ipsum'
  $pass       = '1234'

  $url = 'http://server.com:9090/sendsms?phone=' . urlencode($phonenumber) . '&text=' . urlencode($msgtext) . '&password=' . urlencode($pass);



  $curl = curl_init();
  curl_setopt_array($curl, array(
      CURLOPT_RETURNTRANSFER => 1,
      CURLOPT_URL => $url
  ));

私の質問は、コードは正しいですか? そしてそれをテストする方法は?

4

2 に答える 2

1

これは単純なGETですが、hek2mglに完全に同意することはできません。タイムアウトやhttp応答コードなどに注意する必要がある場合は多くの状況があり、これがcURLの目的です。

これは基本的な設定です。

$handler = curl_init();
curl_setopt($handler, CURLOPT_URL, $url);
curl_setopt($handler, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handler, CURLOPT_FOLLOWLOCATION, true);
// curl_setopt($handler, CURLOPT_MAXREDIRS, 10); // optional
// curl_setopt($handler, CURLOPT_TIMEOUT, 10); // optional
$response = curl_exec($handler);
curl_close($handler);
于 2013-03-22T23:36:44.043 に答える
0

ブラウザのアドレスバーを使用してURLにアクセスできる場合、それはHTTPGETリクエストです。PHPでこれを行う最も簡単な方法はfile_get_contents()、URLでも動作できるため、を使用することです。

$url = 'http://server.com:9090/sendsms?phone=123456789&text=foobar&pass=123456';
$response = file_get_contents($url);

if($response === FALSE) {
    die('error sending sms');
}

// ... check the response message or whatever
...

もちろん、curl拡張機能を使用することもできますが、単純なGETリクエストのfile_get_contents()場合、最も単純で最も移植性の高いソリューションになります。

于 2013-03-22T22:49:36.293 に答える