Heim Backend-Entwicklung PHP-Tutorial sae的curl限制能否突破?解决方法

sae的curl限制能否突破?解决方法

Jun 13, 2016 am 10:17 AM
curl timeout

sae的curl限制能否突破?
我先说下我的情况:
curl到国外的web service上面,发送数据,处理后,再返回数据。

之前使用了美国空间,香港空间,但是总不满意,无法满足国内各地区的快速访问。

所以我现在放到了sae上面运行,但是sae有很多限制的,比如curl的限制如下:
connect_timeout 5秒 
send_timeout 15秒 
read_timeout 20秒 
抓取文件大小 8MB 
禁用头,这些头用户无法修改 Content-Length、Host、Vary、Via、X-Forwarded-For、FetchUrl、AccessKey、TimeStamp、Signature、AllowTruncated、ConnectTimeout、SendTimeout、ReadTimeout 


目前就是第一条把我给限制住了,后面的限制对我没有影响。

正是由于他的connect_timeout 5秒 限制,导致我的curl应用经常返回502/504错误提示。

这个出错比例大概在3%左右,也就是运行100次,就会出错3次,后来我将curl里的网址由https换成http,这样出错概率降低了不少,但还是存在,测试在1%左右。

对于结果我还是不满意。因为我的curl程序在其他地方(国内三家机房测试)运行都没有出现过错误。

当然我也给sae提出建议,甚至要求升级成付费用户,都没有回复。

惟一的一个管理员说跟我要了curl的网址说帮我找台机器测试看看是不是有这回事。

可能有人说你为什么要在sae这棵树上吊死?

说实话我看中sae的惟一优势是他们是5线机房,国内大部分地区的用户访问速度非常不错的。再说我申请通过开发者认证,每个月的云豆应该足够使用了。

现在似乎有三种选择:
1.继续给sae建议,让他们修改限制参数
2.优化代码?我实在想不出如何优化了
3.放弃sae,这不是我最终想要的结果



我的curl代码是这样的:

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->    #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);
Nach dem Login kopieren


------解决方案--------------------
对于限制多多的机房我个人是扭头就走的.国内你一般只需要考虑电信网通(现在叫联通?)双线就行了,其他商用接入都是最后接到他们的网上。如果是用空间我还真没啥建议,我没用过任何一款空间,有经济基础的话似乎可以考虑美国的主机,或者香港的主机。

放弃sae 转战阿里云 然后回头来汇报一下情况好给我参考...哈哈哈
云豆够用吗?我不太相信...

至于curl的优化...这还能优化么...
------解决方案--------------------
你应该给出一些测试用的 url
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So realisieren Sie die gegenseitige Konvertierung zwischen CURL- und Python-Anfragen in Python So realisieren Sie die gegenseitige Konvertierung zwischen CURL- und Python-Anfragen in Python May 03, 2023 pm 12:49 PM

Sowohl Curl als auch Pythonrequests sind leistungsstarke Tools zum Senden von HTTP-Anfragen. Während Curl ein Befehlszeilentool ist, mit dem Sie Anfragen direkt vom Terminal aus senden können, bietet die Requests-Bibliothek von Python eine eher programmatische Möglichkeit, Anfragen aus Python-Code zu senden. Die grundlegende Syntax zum Konvertieren des Curl-Befehls in den Pythonrequestscurl-Befehl lautet wie folgt: curl[OPTIONS]URL Beim Konvertieren des Curl-Befehls in eine Python-Anfrage müssen wir die Optionen und die URL in Python-Code konvertieren. Hier ist ein Beispiel für einen CurlPOST-Befehl: curl-XPOST https://example.com/api

Tutorial zum Aktualisieren der Curl-Version unter Linux! Tutorial zum Aktualisieren der Curl-Version unter Linux! Mar 07, 2024 am 08:30 AM

Um die Curl-Version unter Linux zu aktualisieren, können Sie die folgenden Schritte ausführen: Überprüfen Sie die aktuelle Curl-Version: Zunächst müssen Sie die im aktuellen System installierte Curl-Version ermitteln. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus: curl --version Dieser Befehl zeigt die aktuellen Informationen zur Curl-Version an. Verfügbare Curl-Version bestätigen: Bevor Sie Curl aktualisieren, müssen Sie die neueste verfügbare Version bestätigen. Sie können die offizielle Website von Curl (curl.haxx.se) oder verwandte Softwarequellen besuchen, um die neueste Version von Curl zu finden. Laden Sie den Curl-Quellcode herunter: Laden Sie mit Curl oder einem Browser die Quellcodedatei für die Curl-Version Ihrer Wahl herunter (normalerweise .tar.gz oder .tar.bz2).

PHP8.1 veröffentlicht: Einführung von Curl für die gleichzeitige Verarbeitung mehrerer Anfragen PHP8.1 veröffentlicht: Einführung von Curl für die gleichzeitige Verarbeitung mehrerer Anfragen Jul 08, 2023 pm 09:13 PM

PHP8.1 veröffentlicht: Einführung von Curl für die gleichzeitige Verarbeitung mehrerer Anfragen Vor kurzem hat PHP offiziell die neueste Version von PHP8.1 veröffentlicht, die eine wichtige Funktion eingeführt hat: Curl für die gleichzeitige Verarbeitung mehrerer Anfragen. Diese neue Funktion bietet Entwicklern eine effizientere und flexiblere Möglichkeit, mehrere HTTP-Anfragen zu verarbeiten und verbessert so die Leistung und das Benutzererlebnis erheblich. In früheren Versionen erforderte die Bearbeitung mehrerer Anfragen häufig die Erstellung mehrerer Curl-Ressourcen und die Verwendung von Schleifen zum Senden bzw. Empfangen von Daten. Obwohl diese Methode den Zweck erreichen kann

Von Anfang bis Ende: So verwenden Sie die PHP-Erweiterung cURL, um HTTP-Anfragen zu stellen Von Anfang bis Ende: So verwenden Sie die PHP-Erweiterung cURL, um HTTP-Anfragen zu stellen Jul 29, 2023 pm 05:07 PM

Von Anfang bis Ende: So verwenden Sie die PHP-Erweiterung cURL für HTTP-Anfragen. Einführung: Bei der Webentwicklung ist es häufig erforderlich, mit APIs von Drittanbietern oder anderen Remote-Servern zu kommunizieren. Die Verwendung von cURL zum Senden von HTTP-Anfragen ist eine gängige und leistungsstarke Methode. In diesem Artikel wird erläutert, wie Sie mit PHP cURL erweitern, um HTTP-Anfragen auszuführen, und einige praktische Codebeispiele bereitstellen. 1. Vorbereitung Stellen Sie zunächst sicher, dass PHP die cURL-Erweiterung installiert hat. Zur Überprüfung können Sie php-m|grepcurl in der Befehlszeile ausführen

So konfigurieren Sie das Nginx-Timeout-Timeout So konfigurieren Sie das Nginx-Timeout-Timeout May 12, 2023 pm 10:07 PM

keepalive_timeouthttp verfügt über einen Keepalive-Modus, der den Webserver anweist, die TCP-Verbindung nach der Verarbeitung einer Anfrage offen zu halten. Wenn er andere Anfragen vom Client erhält, verwendet der Server diese nicht geschlossene Verbindung, ohne eine weitere Verbindung aufzubauen. httpkeep-alive, jede Anfrage auf der Webseite ist http (Bilder, CSS usw.), und um eine http-Anfrage zu öffnen, müssen Sie zuerst eine TCP-Verbindung herstellen. Wenn eine Seite für jede Anfrage eine TCP-Verbindung öffnen und schließen muss Die Verschwendung von keepalive_timeout besteht darin, dass die TCP-Verbindung bestehen bleibt, wenn eine HTTP-Anfrage abgeschlossen ist

Wie kann der Bluescreen des Win11-Uhr-Watchdog-Timeouts behoben werden? Wie kann der Bluescreen des Win11-Uhr-Watchdog-Timeouts behoben werden? Feb 14, 2024 pm 04:00 PM

Bei vielen Benutzern wird nach dem Upgrade des Win11-Systems ein Bluescreen auftreten, z. B.: Clockwatchdogtimeout-Bluescreen. Wie lässt sich das Problem lösen? Benutzer können den Treiber aktualisieren oder auf Überhitzungsprobleme usw. prüfen. Auf dieser Website wird den Benutzern die Lösung für den Clockwatchdogtimeout-Bluescreen in Win11 sorgfältig vorgestellt. Lösung für den Clockwatchdogtimeout-Bluescreen in Win11 1. Aktualisieren Sie den Treiber: Durch Aktualisieren der CPU- und Motherboard-Treiber kann das Problem möglicherweise behoben werden. Sie können die neuesten Treiber herunterladen, indem Sie die Website des Herstellers besuchen. 2. Suchen Sie nach Überhitzungsproblemen: Überhitzung kann ebenfalls eine der Ursachen für diesen Fehler sein.

Was soll ich tun, wenn bei der Verwendung von vue-resource in einer Vue-Anwendung „Fehler: Zeitüberschreitung von xxxms überschritten' auftritt? Was soll ich tun, wenn bei der Verwendung von vue-resource in einer Vue-Anwendung „Fehler: Zeitüberschreitung von xxxms überschritten' auftritt? Jun 24, 2023 pm 02:21 PM

Bei der Entwicklung von Vue-Anwendungen ist die Verwendung von vue-resource zum Senden von HTTP-Anfragen ein häufiger Vorgang. Obwohl vue-resource viele praktische Funktionen bietet, stoßen wir manchmal auf Fehlermeldungen wie „Fehler: timeoutofxxxmsexceeded“. Dieser Fehler wird normalerweise durch eine Zeitüberschreitung der Anforderung verursacht. Wie sollen wir also in diesem Fall dieses Problem lösen? 1. Erhöhen Sie das Anforderungs-Timeout. Zunächst können wir das Anforderungs-Timeout um erhöhen

Was soll ich tun, wenn bei der Verwendung von Axios in einer Vue-Anwendung „Fehler: Zeitüberschreitung von xxxms überschritten' auftritt? Was soll ich tun, wenn bei der Verwendung von Axios in einer Vue-Anwendung „Fehler: Zeitüberschreitung von xxxms überschritten' auftritt? Jun 24, 2023 pm 03:27 PM

Was soll ich tun, wenn bei der Verwendung von Axios in einer Vue-Anwendung „Fehler: timeoutofxxxmsexceeded“ auftritt? Mit der rasanten Entwicklung des Internets wird die Front-End-Technologie ständig aktualisiert und iteriert. Als hervorragendes Front-End-Framework wurde Vue in den letzten Jahren von allen begrüßt. In Vue-Anwendungen müssen wir häufig Axios verwenden, um Netzwerkanforderungen zu stellen, aber manchmal tritt der Fehler „Fehler: timeoutofxxxmsexceeded“ auf.

See all articles