::: PHP.com.ua - учимся вместе. ::: ::: PHP.com.ua - учимся вместе. :::



 
   - Разработка CRM для туристического бизнес...
  - тестування по прив"язці до часу...
  - СРОЧНО! Требуется талантливый PHP програ...
  - Оплачу FLASH-сайт под ключ.
  - выборка одним запросом нескольких похожи...
  - функции верификации строк.
  - Помогите вытянуть скрипт отправки почты ...


Главная
Новости
Статьи
Шпаргалки
Файлы
О проекте
Форум
Футболки


FREEhost.com.ua - купил хостинг 10 у.е. на Begun в подарок.

iName.com.ua - регистрация доменных имен и хороший хостинг.

Библиотека программиста - нужный вам исходник или документация по необходимому для вас языку программирования.

Designclub - Клуб дизайнеров Украины.

Регистрация доменов
Хостинг

 HowtoForge.ORG.UA - Это первый Украинский ресурс развития open source программного обеспечения


Путь: Шпаргалки

Шпаргалки

Автор: - Yurik
Дата публикации - 30.06.2005
Просмотров: - 8525

Работа CURL с SSL


[quote]Пытаюсь загрузить через HTTP-Proxy и показать линк с https сайта и что то ничего не получается. если аддресс http то нет проблем.[/quote]

Вот способ решения такой проблемы.

[php]
<?php 
$domain 
"www.nash_ssl_site.com"
$file="/folder/script.dll?variables=dsds"
$proxy='192.168.1.1'
$port=3128

$fp fsockopen($proxy$port$errno$errstr,5); 
fputs($fp"CONNECT $url:443 HTTP/1.0\r\nUser-agent: PHP/4.3.11\r\n\r\n");
// А вот тут обломчики... открыть fsockopen('ssl://site.com') в уже существующий $fp мы не сможем... 
?>[

/php]

Без CURL очевидно не обойтись...
[php]
<?php 
function curl_string ($url,$user_agent,$proxy){ 
$ch curl_init(); 

// установить соединение через прокси:порт_прокси
curl_setopt ($chCURLOPT_PROXY$proxy); 

// если требуется авторизация на Proxy
curl_setopt ($chCURLOPT_PROXYUSERPWD'user_login:secret_password'); 

// установить соединение в режиме "туннеля" прокси - через CONNECT !!
curl_setopt ($chCURLOPT_HTTPPROXYTUNNEL$proxy);

// установить запрашиваемый URL
curl_setopt ($chCURLOPT_URL$url); 

// "зашифроваться" под USER_AGENT
curl_setopt ($chCURLOPT_USERAGENT$user_agent);

// установить куда сохранять куку, очень нужная вещь если есть авторизация и редиректы!
// надо чтобы был доступ на запись. 
// в многопользовательской среде могут быть траблы с паралельным доступом к файлу.
// Тогда надо хранить в временном файле
curl_setopt ($chCURLOPT_COOKIEJAR"./cookie.txt");

// если требуется передача HTTP_REFERER
curl_setopt ($chCURLOPT_REFERER"http://example.com/previous.html");

// HTTP заголовки ответа включать в возвращаемый результат
curl_setopt ($chCURLOPT_HEADER1);

// возвратить результат обработки в переменную а не на STDOUT
curl_setopt ($chCURLOPT_RETURNTRANSFER1);

// если будут редиректы - следовать за ними
curl_setopt ($chCURLOPT_FOLLOWLOCATION1);
curl_setopt ($chCURLOPT_TIMEOUT120); // таймаут соединения - 2 минуты
$result curl_exec ($ch); // выполнить запрос
curl_close($ch); 
return 
$result


$url_page "https://authorize.net/dir/file.req?var=val"
$user_agent "PHP/4.3.11"
$proxy "192.168.1.1:3128"
$string curl_string($url_page,$user_agent,$proxy); 
echo 
$string
?>[

/php]



Обсудить в ФОРУМе - комментариев ()


Путь: Шпаргалки

Если вы заметили орфографическую, стилистическую или другую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Контакты Design by webFaction Ukrainian PHP Group 2004-2005