Definition:
function wp_get_http( $url, $file_path = false, $red = 1 ) {}
Perform a HTTP HEAD or GET request.
If $file_path is a writable filename, this will do a GET request and write the file to that path.
Parameters
- string $url: URL to fetch.
- string|bool $file_path: Optional. File path to write request to.
- int $red: (private) The number of Redirects followed, Upon 5 being hit, returns false.
Return values
returns:False on failure and string of headers if HEAD request.
Source code
function wp_get_http( $url, $file_path = false, $red = 1 ) { @set_time_limit( 60 ); if ( $red > 5 ) return false; $options = array(); $options['redirection'] = 5; if ( false == $file_path ) $options['method'] = 'HEAD'; else $options['method'] = 'GET'; $response = wp_remote_request($url, $options); if ( is_wp_error( $response ) ) return false; $headers = wp_remote_retrieve_headers( $response ); $headers['response'] = wp_remote_retrieve_response_code( $response ); // WP_HTTP no longer follows redirects for HEAD requests. if ( 'HEAD' == $options['method'] && in_array($headers['response'], array(301, 302)) && isset( $headers['location'] ) ) { return wp_get_http( $headers['location'], $file_path, ++$red ); } if ( false == $file_path ) return $headers; // GET request - write it to the supplied filename $out_fp = fopen($file_path, 'w'); if ( !$out_fp ) return $headers; fwrite( $out_fp, wp_remote_retrieve_body( $response ) ); fclose($out_fp); clearstatcache(); return $headers; }
3703
No comments yet... Be the first to leave a reply!