Auto php curl kullanarak bir metin alanını doldurmak

1 Cevap php

Biz bir metin alana sahip bir form doldurmak otomatik çalışıyor.

<textarea name="myarea"></textarea>

Biz ancak giriş metnin sadece bir kısmını kabul ediyor kıvırmak kullanarak bunu yapabilirsiniz. Içeriği çok büyük ise, o zaman hiçbir şey kabul eder. Metin alanına karakter sayısı ile ilgili herhangi bir kısıtlama yoktur.

$area['myarea']=>"a large html code.................."
curl_setopt($ch,CURL_POSTFIELDS,$area);
curl_execute();

Çözüm tavsiye edin.

1 Cevap

Eğer doğru parametreyi kaçtı emin misiniz? Sadece bu amaç için urlencode () kullanın. İşte bir örnek:

<?php
$url = 'http://localhost/';

$fields = array (
  'param1' => 'val1',
  'param2' => 'val2'
);

$qry = '';
foreach ($fields as $key => $value) {
  $qry .= $key . '=' . urlencode($value) . '&';
}
$qry = rtrim($qry, '&');

// Alternatively, you can also use $qry = http_build_query($fields, '');

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $qry);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($ch);

curl_close($ch);

var_dump($result);
?>

If you want to verify that the request was send properly, I would recommend netcat. Just set the URL to http://localhost:3333/ and then execute netcat using: $ nc -l -p 3333

As expected, the request looks like this: POST / HTTP/1.1 Host: localhost:3333 Accept: / Content-Length: 23 Content-Type: application/x-www-form-urlencoded

param1=val1&param2=val2