Как отправить сообщения HTTPS с помощью php

На самом деле Вы, вероятно, хотите использовать utf8_unicode_ci или utf8_general_ci.

  • utf8_general_ci виды путем снимания всех диакритических знаков и сортировки, как будто это был ASCII
  • utf8_unicode_ci, используют порядок сортировки Unicode, таким образом, это сортирует правильно на большем количестве языков

Однако, если Вы только используете это для хранения английского текста, они не должны отличаться.

18
задан Nico Burns 20 July 2009 в 15:49
поделиться

5 ответов

PHP / Curl отлично справится с https-запросом. Что вам может понадобиться, особенно если вы идете против сервера разработки, так это выключить CURLOPT_SSL_VERIFYPEER. Это связано с тем, что сервер разработки может быть самоподписанным и не пройти тест проверки.

$postfields = array('field1'=>'value1', 'field2'=>'value2');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://foo.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
// Edit: prior variable $postFields should be $postfields;
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // On dev server only!
$result = curl_exec($ch);
40
ответ дан 30 November 2019 в 06:12
поделиться

Вы также можете использовать параметры потока api и http / https

$postdata = http_build_query(
  array(
    'FieldX' => '1234',
    'FieldY' => 'yaddayadda'
  )
);

$opts = array(
  'http' => array(
    'method'  => 'POST',
    'header'  => 'Content-type: application/x-www-form-urlencoded',
    'content' => $postdata
  )
);
$context  = stream_context_create($opts);
$result = file_get_contents('https://example.com', false, $context);

Вам по-прежнему нужно расширение, обеспечивающее шифрование SSL. Это может быть php_openssl или (, если скомпилирован таким образом) php_curl.

12
ответ дан 30 November 2019 в 06:12
поделиться

Нет, особой разницы нет. Curl делает все необходимое сам.

См. Примеры в комментариях пользователей на справочной странице curl_setopt , как это делается.

2
ответ дан 30 November 2019 в 06:12
поделиться

Аналогичный вопрос: POST к URL-адресу с PHP и обработкой ответа

Используя принятое решение ( Snoopy PHP Class ), вы можете сделать что-то вроде следующего:

<?php

  $vars = array("fname"=>"Jonathan","lname"=>"Sampson");
  $snoopy = new Snoopy();

  $snoopy->curl_path = "/usr/bin/curl";  # Or whatever your path to curl is - 'which curl' in terminal will give it to you.  Needed because snoopy uses standalone curl to deal with https sites, not php_curl builtin.

  $snoopy->httpmethod = "POST";
  $snoopy->submit("https://www.somesite.com", $vars);
  print $snoopy->results;

?>
0
ответ дан 30 November 2019 в 06:12
поделиться

Если вы используете curl, вы можете передать параметр -d для своих параметров. Это приводит к использованию сообщения HTTP. Что-то вроде

curl http://foo.com -d bar=baz -d bat=boo

приведет к HTTP-сообщению на http://foo.com с соответствующими параметрами

1
ответ дан 30 November 2019 в 06:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: