Fqyeh29
@Fqyeh29
↓ ИМХО ↓

Как fsockopen заменить на curl?

Сам запрос:
$fp = @fsockopen($url['host'], 80, $errno, $errstr, 30); 
		if (!$fp) return false;
		$responce = '';
		fwrite($fp,$post); 
		while ( !feof($fp) )
			$responce .= fgets($fp);
		fclose($fp);


Пробывал так:

$ch = curl_init($url['host']);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt_array($ch, [CURLOPT_POST=>'true',CURLOPT_POSTFIELDS=>$post]);
curl_setopt($ch, CURLOPT_HTTPHEADER, $head);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$d = curl_exec($ch);


Но не работает.

Памагитя?)
  • Вопрос задан
  • 254 просмотра
Пригласить эксперта
Ответы на вопрос 2
glebovgin
@glebovgin
Full Stack Web Developer
1. Сначала выясните - у вас в принципе curl работает или нет.
2. Вот самый простой пример отправки POST данных курлом
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://someurl.com/post/');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'postvar1=value1&postvar2=value2&postvar3=value3');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec ($ch);
curl_close ($ch);
Ответ написан
Fqyeh29
@Fqyeh29 Автор вопроса
↓ ИМХО ↓
Проблема решилась. Почему то сервер(не мой, поставщика) куда я слал запрос присылает пустоту при указывании CURLOPT_HTTPHEADER.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
30 апр. 2024, в 16:35
5000 руб./за проект
30 апр. 2024, в 16:03
2500 руб./за проект