function parseResponse( $response )
{
$response_parts = explode( "\r\n\r\n", $response, 2 );
$response = array();
$cookie = array();
$response['header'] = explode( "\r\n", $response_parts[0] );
if ( preg_match_all( '/Set-Cookie: (.*?)=(.*?)(\n|;)/i', $response_parts[0], $matches ) ) {
if ( !empty( $matches ) ) {
foreach ( $matches[1] as $key => $value ) {
$cookie[] = $value . '=' . $matches[2][$key] . ';';
}
$response['cookie'] = $cookie;
}
}
$response['body'] = $response_parts[1];
return $response;
}
$url = 'http://www.cbr.ru/scripts/XML_daily.asp?date_req=10/12/2013';
$request = curl_init( $url );
$options = array(
CURLOPT_HEADER => true,
CURLOPT_NOBODY => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0',
);
curl_setopt_array( $request, $options );
$result = curl_exec( $request );
if ( $result ) {
$info = curl_getinfo( $request );
$response = parseResponse( $result );
$response['info'] = $info;
} else {
$response = array(
'number' => curl_errno( $request ),
'error' => curl_error( $request ),
'info' => curl_getinfo( $request )
);
}
curl_close( $request );
print_r( $response );
вот такой код дает представление о происходящем.
после первой проверки меня видимо тоже забанили, но в браузере ссылка открывается. курл же отпинывается с 0 кодом. после добавления юзерагента стало редиректить на ту же страницу и так до бесконечности.