Changeset 10508 for trunk/wp-includes/http.php
- Timestamp:
- 02/05/2009 08:47:30 PM (17 years ago)
- File:
-
- 1 edited
-
trunk/wp-includes/http.php (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/http.php
r10507 r10508 238 238 $working_transport['streams'] = new WP_Http_Streams(); 239 239 $blocking_transport[] = &$working_transport['streams']; 240 } else if ( true === WP_Http_Fopen::test() && apply_filters('use_fopen_transport', true) && ( isset($args['ssl']) && !$args['ssl'] )) {240 } else if ( true === WP_Http_Fopen::test() && apply_filters('use_fopen_transport', true) ) { 241 241 $working_transport['fopen'] = new WP_Http_Fopen(); 242 242 $blocking_transport[] = &$working_transport['fopen']; 243 } else if ( true === WP_Http_Fsockopen::test() && apply_filters('use_fsockopen_transport', true) && ( isset($args['ssl']) && !$args['ssl'] )) {243 } else if ( true === WP_Http_Fsockopen::test() && apply_filters('use_fsockopen_transport', true) ) { 244 244 $working_transport['fsockopen'] = new WP_Http_Fsockopen(); 245 245 $blocking_transport[] = &$working_transport['fsockopen']; … … 283 283 $working_transport['exthttp'] = new WP_Http_ExtHttp(); 284 284 $blocking_transport[] = &$working_transport['exthttp']; 285 } else if ( true === WP_Http_Curl::test() && apply_filters('use_curl_transport', true) ) {286 $working_transport['curl'] = new WP_Http_Curl();287 $blocking_transport[] = &$working_transport['curl'];288 285 } else if ( true === WP_Http_Streams::test() && apply_filters('use_streams_transport', true) ) { 289 286 $working_transport['streams'] = new WP_Http_Streams(); 290 287 $blocking_transport[] = &$working_transport['streams']; 291 } else if ( true === WP_Http_Fsockopen::test() && apply_filters('use_fsockopen_transport', true) && ( isset($args['ssl']) && !$args['ssl'] )) {288 } else if ( true === WP_Http_Fsockopen::test() && apply_filters('use_fsockopen_transport', true) ) { 292 289 $working_transport['fsockopen'] = new WP_Http_Fsockopen(); 293 290 $blocking_transport[] = &$working_transport['fsockopen']; 294 291 } 295 292 296 foreach ( array(' curl', 'streams', 'fsockopen', 'exthttp') as $transport ) {293 foreach ( array('streams', 'fsockopen', 'exthttp') as $transport ) { 297 294 if ( isset($working_transport[$transport]) ) 298 295 $nonblocking_transport[] = &$working_transport[$transport]; … … 362 359 'redirection' => apply_filters( 'http_request_redirection_count', 5), 363 360 'httpversion' => apply_filters( 'http_request_version', '1.0'), 364 'user-agent' => apply_filters( 'http_headers_useragent', 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )),361 'user-agent' => apply_filters( 'http_headers_useragent', 'WordPress/' . $wp_version ), 365 362 'blocking' => true, 366 363 'headers' => array(), 367 364 'body' => null, 368 365 'compress' => false, 369 'decompress' => true, 370 'sslverify' => true 366 'decompress' => true 371 367 ); 372 368 373 369 $r = wp_parse_args( $args, $defaults ); 374 370 $r = apply_filters( 'http_request_args', $r, $url ); 375 376 $arrURL = parse_url($url);377 378 // Determine if this is a https call and pass that on to the transport functions379 // so that we can blacklist the transports that do not support ssl verification380 if ( $arrURL['scheme'] == 'https' || $arrURL['scheme'] == 'ssl' )381 $r['ssl'] = true;382 else383 $r['ssl'] = false;384 371 385 372 if ( is_null( $r['headers'] ) ) … … 941 928 'protocol_version' => (float) $r['httpversion'], 942 929 'header' => $strHeaders, 943 'timeout' => $r['timeout'], 944 'ssl' => array( 945 'verify_peer' => apply_filters('https_ssl_verify', $r['sslverify']), 946 'verify_host' => apply_filters('https_ssl_verify', $r['sslverify']) 947 ) 930 'timeout' => $r['timeout'] 948 931 ) 949 932 ); … … 1078 1061 'useragent' => $r['user-agent'], 1079 1062 'headers' => $r['headers'], 1080 'ssl' => array(1081 'verifypeer' => apply_filters('https_ssl_verify', $r['sslverify']),1082 'verifyhost' => apply_filters('https_ssl_verify', $r['sslverify'])1083 )1084 1063 ); 1085 1064 … … 1175 1154 1176 1155 $handle = curl_init(); 1177 1178 1156 curl_setopt( $handle, CURLOPT_URL, $url); 1179 curl_setopt( $handle, CURLOPT_RETURNTRANSFER, true ); 1180 curl_setopt( $handle, CURLOPT_SSL_VERIFYHOST, apply_filters('https_ssl_verify', $r['sslverify']) ); 1181 curl_setopt( $handle, CURLOPT_SSL_VERIFYPEER, apply_filters('https_ssl_verify', $r['sslverify']) ); 1157 1158 // The cURL extension requires that the option be set for the HEAD to 1159 // work properly. 1160 if ( 'HEAD' === $r['method'] ) { 1161 curl_setopt( $handle, CURLOPT_NOBODY, true ); 1162 } 1163 1164 if ( true === $r['blocking'] ) { 1165 curl_setopt( $handle, CURLOPT_HEADER, true ); 1166 curl_setopt( $handle, CURLOPT_RETURNTRANSFER, 1 ); 1167 } else { 1168 curl_setopt( $handle, CURLOPT_HEADER, false ); 1169 curl_setopt( $handle, CURLOPT_NOBODY, true ); 1170 curl_setopt( $handle, CURLOPT_RETURNTRANSFER, 0 ); 1171 } 1172 1182 1173 curl_setopt( $handle, CURLOPT_USERAGENT, $r['user-agent'] ); 1183 curl_setopt( $handle, CURLOPT_CONNECTTIMEOUT, $r['timeout']);1174 curl_setopt( $handle, CURLOPT_CONNECTTIMEOUT, 1 ); 1184 1175 curl_setopt( $handle, CURLOPT_TIMEOUT, $r['timeout'] ); 1185 1176 curl_setopt( $handle, CURLOPT_MAXREDIRS, $r['redirection'] ); 1186 1187 switch ( $r['method'] ) {1188 case 'HEAD':1189 curl_setopt( $handle, CURLOPT_NOBODY, true );1190 break;1191 case 'POST':1192 curl_setopt( $handle, CURLOPT_POST, true );1193 curl_setopt( $handle, CURLOPT_POSTFIELDS, $r['body'] );1194 break;1195 }1196 1197 if ( true === $r['blocking'] )1198 curl_setopt( $handle, CURLOPT_HEADER, true );1199 else1200 curl_setopt( $handle, CURLOPT_HEADER, false );1201 1177 1202 1178 // The option doesn't work with safe mode or when open_basedir is set.
Note: See TracChangeset
for help on using the changeset viewer.