كيفية الانتقال من وظيفة إلى GET في PHP الضفيرة
سؤال
ولقد حاولت التحول من طلب المشاركة السابقة لطلب الحصول على. التي يفترض انها لإحضار ولكن في النهاية لا وظيفة.
وحاولت التالية في PHP:
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, null);
curl_setopt($curl_handle, CURLOPT_POST, FALSE);
curl_setopt($curl_handle, CURLOPT_HTTPGET, TRUE);
ما أنا في عداد المفقودين؟
معلومات إضافية: لدي بالفعل اتصال هذا الإعداد للقيام طلب POST. أن يكمل بنجاح ولكن في وقت لاحق عندما أحاول إعادة الاتصال ويعود مرة أخرى إلى GET باستخدام setopts فوقه تزال ينتهي القيام وظيفة داخليا مع رؤوس وظيفة كاملة. المشكلة هي أنها تؤمن لها القيام GET ولكن ينتهي وضع رأس ظيفة بدون المعلمة محتوى طول وفشل الاتصال فيزا 411 خطأ.
المحلول 3
وحلها: إن المشكلة تكمن هنا:
وأنا وضعت POST
عن طريق كلا _CUSTOMREQUEST
و_POST
واستمر _CUSTOMREQUEST
كما POST
بينما تحولت _POST
إلى _HTTPGET
. تولى خادم رأس من _CUSTOMREQUEST
أن تكون على حق واحد وعاد مع 411.
curl_setopt($curl_handle, CURLOPT_CUSTOMREQUEST, 'POST');
نصائح أخرى
تأكد من أنك وضع سلسلة الاستعلام الخاص بك في نهاية URL الخاص بك عند القيام طلب GET.
$qry_str = "?x=10&y=20"; $ch = curl_init(); // Set query data here with the URL curl_setopt($ch, CURLOPT_URL, 'http://example.com/test.php' . $qry_str); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 3); $content = trim(curl_exec($ch)); curl_close($ch); print $content;
With a POST you pass the data via the CURLOPT_POSTFIELDS option instead of passing it in the CURLOPT__URL. ------------------------------------------------------------------------- $qry_str = "x=10&y=20"; curl_setopt($ch, CURLOPT_URL, 'http://example.com/test.php'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 3); // Set request method to POST curl_setopt($ch, CURLOPT_POST, 1); // Set query data here with CURLOPT_POSTFIELDS curl_setopt($ch, CURLOPT_POSTFIELDS, $qry_str); $content = trim(curl_exec($ch)); curl_close($ch); print $content;
ملحوظة من curl_setopt()
مستندات للحصول على CURLOPT_HTTPGET
(التشديد مضاف):
[مجموعة CURLOPT_HTTPGET يساوي] TRUE
إلى <م> إعادة تعيين م> على HTTP طريقة طلب GET.
منذ GET هو الافتراضي، وهذا أمر ضروري إلا إذا تم تغيير طريقة الطلب.
وإضافة هذا قبل استدعاء curl_exec ($ curl_handle)
curl_setopt($curl_handle, CURLOPT_CUSTOMREQUEST, 'GET');
وطلب الضفيرة افتراضيا هو الحصول، لم يكن لديك لتعيين أي خيارات لتقديم طلب GET الضفيرة.