ホームページ >バックエンド開発 >PHPチュートリアル >さえのカール限界は突破できるのか?
まず私の状況について話させてください:
外国の Web サービスにカールし、データを送信し、処理して、データを返します。
私は以前にアメリカのスペースと香港のスペースを利用したことがありますが、常に不満を感じており、国内のさまざまな地域への迅速なアクセスのニーズを満たすことができません。
そこで、sae で実行しますが、sae には多くの制限があります。たとえば、curl の制限は次のとおりです:
connect_timeout 5 秒
send_timeout 15 秒
read_timeout 20 秒
フェッチファイルサイズ 8MB
ヘッダーを無効にする、ユーザーはこれらにアクセスできません。 headers Modify Content-Length、Host、Vary、Via、X-Forwarded-For、FetchUrl、AccessKey、TimeStamp、Signature、AllowTruncated、ConnectTimeout、SendTimeout、ReadTimeout
現時点では、これが私を制限する最初のものであり、以下の制限は私には影響しません。
私のcurlアプリケーションが頻繁に502/504エラープロンプトを返すのは、まさにconnect_timeoutの5秒制限のためです。
このエラー率は約 3% です。つまり、100 回実行すると 3 回エラーが発生します。その後、curl の URL を https から http に変更しました。これにより、エラーの可能性は大幅に減少しましたが、依然としてエラーが発生します。テストは約1%存在します。
結果にはまだ満足していません。なぜなら、私のcurlプログラムは他の場所(国内の3つのコンピュータ室でテスト)でエラーなく実行されているからです。
もちろん、saeさんにも提案し、有料ユーザーへのアップグレードもお願いしましたが、返答はありませんでした。
唯一の管理者は私にcurlのURLを尋ね、これが当てはまるかどうかを確認するためにテストするマシンを見つけるように頼みました。
なぜサエの木で首を吊るのかと疑問に思う人もいるかもしれません。
正直に言うと、sae について私が気に入っている唯一の利点は、5 回線のコンピューター室であることと、国内のほとんどの地域のユーザーのアクセス速度が非常に優れていることです。それに、開発者認定を申請するなら、毎月のクラウド Bean で十分です。
現在 3 つのオプションがあるようです:
1. sae に提案を出し続け、制限パラメーターを変更してもらいます
2. コードを最適化しますか?最適化する方法がまったく思いつきません
3. あきらめます、これは私が望む最終結果ではありません
私のカールコードは次のようなものです:
#POST方法 $curl = curl_init($url); curl_setopt( $curl, CURLOPT_POST, 1 ); curl_setopt( $curl, CURLOPT_POSTFIELDS, $data ); curl_setopt( $curl, CURLOPT_HEADER, 0 ); curl_setopt( $curl, CURLOPT_RETURNTRANSFER , 1 ); $response = curl_exec($curl); #GET方法 $curl = curl_init($url); curl_setopt( $curl, CURLOPT_GET, 1 ); curl_setopt( $curl, CURLOPT_GETFIELDS); curl_setopt( $curl, CURLOPT_HEADER, 0 ); curl_setopt( $curl, CURLOPT_RETURNTRANSFER , 1 ); $response = curl_exec($curl);
個人的には、制限の多いコンピューター室からは目を背けていますが、中国では通常、チャイナテレコムとネットコム (現在はチャイナユニコムと呼ばれていますか?) の二重回線を考慮する必要があり、その他の商用アクセスは最終的にそのネットワークに接続されます。 。スペースを使用する場合は、特に提案はありません。経済的基盤がある場合は、アメリカのホストか香港のホストを検討してみてはいかがでしょうか。
SAE を諦めて Alibaba Cloud に切り替えて、参考までに状況を報告してください... ハハハ
Cloud Bean で十分ですか?まったく信じられません...
curl の最適化については... これでも最適化できますか...
いくつかのテスト URL を与えるべきです
いくつかのテスト URL を与えるべきです
2階からの返信を引用:
いくつかのテストを与えるべきです 使用したURL
一昨日saeの管理者に渡しましたが、彼が試したかどうかはわかりません。 、または試してみても返信がなかった場合...
4 階からの返信引用:
2 階からの返信引用:
いくつかのテスト URL を与えるべきです
一昨日 sae の管理者に渡しましたが、ニュースもないし、私にはわかりません。彼は試しましたか? それとも試しましたが、私に返信しませんでした...
テスト用の URL も教えたくないのに、なぜ投稿したのですか?これ?
ああ、この場合、できることは何もありません
lz fetchUrlhttp://apidoc.sinaapp.com/__filesource/fsource_sae__saefetchurl.class.php.html#a198 を試してみてください