Maison développement back-end tutoriel php 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);
Copier après la connexion


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

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

至于curl的优化...这还能优化么...
------解决方案--------------------
你应该给出一些测试用的 url
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment réaliser la conversion mutuelle entre les requêtes CURL et python en python Comment réaliser la conversion mutuelle entre les requêtes CURL et python en python May 03, 2023 pm 12:49 PM

curl et Pythonrequests sont des outils puissants pour envoyer des requêtes HTTP. Alors que curl est un outil de ligne de commande qui vous permet d'envoyer des requêtes directement depuis le terminal, la bibliothèque de requêtes de Python fournit un moyen plus programmatique d'envoyer des requêtes à partir du code Python. La syntaxe de base pour convertir curl en commande Pythonrequestscurl est la suivante : curl[OPTIONS]URL Lors de la conversion de la commande curl en requête Python, nous devons convertir les options et l'URL en code Python. Voici un exemple de commande curlPOST : curl-XPOST https://example.com/api

Tutoriel sur la mise à jour de la version curl sous Linux ! Tutoriel sur la mise à jour de la version curl sous Linux ! Mar 07, 2024 am 08:30 AM

Pour mettre à jour la version curl sous Linux, vous pouvez suivre les étapes ci-dessous : Vérifiez la version actuelle de curl : Tout d'abord, vous devez déterminer la version de curl installée dans le système actuel. Ouvrez un terminal et exécutez la commande suivante : curl --version Cette commande affichera les informations sur la version actuelle de curl. Confirmer la version curl disponible : Avant de mettre à jour curl, vous devez confirmer la dernière version disponible. Vous pouvez visiter le site officiel de curl (curl.haxx.se) ou des sources de logiciels associées pour trouver la dernière version de curl. Téléchargez le code source de curl : à l'aide de curl ou d'un navigateur, téléchargez le fichier de code source pour la version curl de votre choix (généralement .tar.gz ou .tar.bz2).

Sortie de PHP8.1 : introduction de curl pour le traitement simultané de plusieurs requêtes Sortie de PHP8.1 : introduction de curl pour le traitement simultané de plusieurs requêtes Jul 08, 2023 pm 09:13 PM

PHP8.1 publié : présentation de curl pour le traitement simultané de plusieurs requêtes. Récemment, PHP a officiellement publié la dernière version de PHP8.1, qui a introduit une fonctionnalité importante : curl pour le traitement simultané de plusieurs requêtes. Cette nouvelle fonctionnalité offre aux développeurs un moyen plus efficace et plus flexible de gérer plusieurs requêtes HTTP, améliorant ainsi considérablement les performances et l'expérience utilisateur. Dans les versions précédentes, la gestion de plusieurs requêtes nécessitait souvent de créer plusieurs ressources curl et d'utiliser des boucles pour envoyer et recevoir des données respectivement. Bien que cette méthode puisse atteindre l'objectif

Du début à la fin : Comment utiliser l'extension php cURL pour effectuer des requêtes HTTP Du début à la fin : Comment utiliser l'extension php cURL pour effectuer des requêtes HTTP Jul 29, 2023 pm 05:07 PM

Du début à la fin : Comment utiliser l'extension php cURL pour les requêtes HTTP Introduction : En développement web, il est souvent nécessaire de communiquer avec des API tierces ou d'autres serveurs distants. Utiliser cURL pour effectuer des requêtes HTTP est un moyen courant et puissant. Cet article expliquera comment utiliser PHP pour étendre cURL afin d'effectuer des requêtes HTTP et fournira quelques exemples de code pratiques. 1. Préparation Tout d'abord, assurez-vous que l'extension cURL est installée sur php. Vous pouvez exécuter php-m|grepcurl sur la ligne de commande pour vérifier

Comment configurer le délai d'expiration de Nginx Comment configurer le délai d'expiration de Nginx May 12, 2023 pm 10:07 PM

keepalive_timeouthttp a un mode keepalive, qui indique au serveur Web de maintenir la connexion TCP ouverte après le traitement d'une requête. S'il reçoit d'autres requêtes du client, le serveur utilisera cette connexion non fermée sans établir une autre connexion. httpkeep-alive, chaque requête sur la page Web est http (images, css, etc.), et pour ouvrir une requête http, vous devez d'abord établir une connexion TCP si une page doit ouvrir et fermer une connexion TCP pour chaque requête. , il sera transformé en ressource. Le gaspillage de keepalive_timeout est que lorsqu'une requête http est terminée, sa connexion TCP restera.

Comment résoudre l'écran bleu du délai d'expiration du chien de garde de l'horloge Win11 ? Comment résoudre l'écran bleu du délai d'expiration du chien de garde de l'horloge Win11 ? Feb 14, 2024 pm 04:00 PM

De nombreux utilisateurs rencontreront un écran bleu après la mise à niveau du système win11, tel que : écran bleu clockwatchdogtimeout, alors comment résoudre ce problème ? Les utilisateurs peuvent mettre à jour le pilote ou vérifier les problèmes de surchauffe, etc. Laissez ce site présenter soigneusement aux utilisateurs la solution à l'écran bleu clockwatchdogtimeout win11. Solution à l'écran bleu clockwatchdogtimeout win11 1. Mettez à jour le pilote : La mise à jour des pilotes du processeur et de la carte mère peut résoudre le problème. Vous pouvez télécharger les derniers pilotes en visitant le site Web du fabricant. 2. Recherchez les problèmes de surchauffe : la surchauffe peut également être l'une des causes de cette erreur.

Que dois-je faire si « Erreur : délai d'attente de xxxms dépassé » se produit lors de l'utilisation de vue-resource dans une application Vue ? Que dois-je faire si « Erreur : délai d'attente de xxxms dépassé » se produit lors de l'utilisation de vue-resource dans une application Vue ? Jun 24, 2023 pm 02:21 PM

Dans le développement d'applications Vue, utiliser vue-resource pour effectuer des requêtes HTTP est une opération courante. Bien que vue-resource fournisse de nombreuses fonctions pratiques, nous rencontrons parfois des messages d'erreur tels que "Erreur : timeoutofxxxmsexceeded". Cette erreur est généralement provoquée par un délai d'attente de la demande. Alors, dans ce cas, comment devrions-nous résoudre ce problème ? 1. Augmentez le délai d'expiration de la demande. Tout d'abord, nous pouvons augmenter le délai d'expiration de la demande.

Comment gérer la redirection 301 des pages web en PHP Curl ? Comment gérer la redirection 301 des pages web en PHP Curl ? Mar 08, 2024 am 11:36 AM

Comment gérer la redirection 301 des pages web dans PHPCurl ? Lorsque vous utilisez PHPCurl pour envoyer des requêtes réseau, vous rencontrerez souvent un code d'état 301 renvoyé par la page Web, indiquant que la page a été redirigée définitivement. Afin de gérer correctement cette situation, nous devons ajouter des options spécifiques et une logique de traitement à la requête Curl. Ce qui suit présentera en détail comment gérer la redirection 301 des pages Web dans PHPCurl et fournira des exemples de code spécifiques. Principe de traitement de la redirection 301 La redirection 301 signifie que le serveur renvoie un 30

See all articles