ฉันจะส่งข้อมูล POST ไปยัง URL ใน PHP (โดยไม่มีแบบฟอร์ม) ได้อย่างไร
ฉันจะใช้สำหรับส่งตัวแปรเพื่อกรอกข้อมูลและส่งแบบฟอร์ม
ฉันจะส่งข้อมูล POST ไปยัง URL ใน PHP (โดยไม่มีแบบฟอร์ม) ได้อย่างไร
ฉันจะใช้สำหรับส่งตัวแปรเพื่อกรอกข้อมูลและส่งแบบฟอร์ม
คำตอบ:
หากคุณต้องการโพสต์ข้อมูลไปยัง URL จากโค้ด PHP (โดยไม่ต้องใช้รูปแบบ html) ก็สามารถทำได้ด้วย curl จะมีลักษณะดังนี้:
$url = 'http://www.someurl.com';
$myvars = 'myvar1=' . $myvar1 . '&myvar2=' . $myvar2;
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $myvars);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt( $ch, CURLOPT_HEADER, 0);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec( $ch );
สิ่งนี้จะส่งตัวแปรโพสต์ไปยัง url ที่ระบุและสิ่งที่เพจส่งกลับจะเป็น $ response
CURLOPT_FOLLOWLOCATION
, CURLOPT_HEADER
และCURLOPT_RETURNTRANSFER
ทำอย่างไร ฉันไม่ต้องการคัดลอกโค้ดที่ฉันไม่เข้าใจทั้งหมด
$url
has a $
because ใน php นั่นเป็นวิธีที่คุณระบุตัวแปรหรือไม่? คุณลากเส้นตรงไหน? "... ไม่ต้องรับคำถามเพิ่ม" ไม่ใช่ทัศนคติของคนที่จะประสบความสำเร็จจากการเรียนรู้ด้วยตนเองโดยเฉพาะการเขียนโปรแกรม
cURL-less ที่คุณสามารถใช้ใน php5
$url = 'URL';
$data = array('field1' => 'value', 'field2' => 'value');
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
var_dump($result);
คำถามของคุณไม่ชัดเจนเป็นพิเศษ แต่ในกรณีที่คุณต้องการส่งข้อมูล POST ไปยัง url โดยไม่ต้องใช้แบบฟอร์มคุณสามารถใช้ fsockopen หรือ curl