Skip to content

Instantly share code, notes, and snippets.

@AlexBezuska
Last active August 29, 2015 14:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AlexBezuska/11057819 to your computer and use it in GitHub Desktop.
Save AlexBezuska/11057819 to your computer and use it in GitHub Desktop.
with Javascript console error/status reporting
function postJSONtoURL($data, $url, $v=false){
$content = json_encode($data);
if($v){ echo "<script>console.log('JSON you are posting:\\n ".$content."\\n');</script>"; }
if($v){ echo "<script>console.log('URL you are posting to\\n ".$url."\\n');</script>"; }
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($curl);
$http_codes = array(100 => 'Continue',101 => 'Switching Protocols',102 => 'Processing',200 => 'OK',201 => 'Created',202 => 'Accepted',203 => 'Non-Authoritative Information',204 => 'No Content',205 => 'Reset Content',206 => 'Partial Content',207 => 'Multi-Status',300 => 'Multiple Choices',301 => 'Moved Permanently',302 => 'Found',303 => 'See Other',304 => 'Not Modified',305 => 'Use Proxy',306 => 'Switch Proxy',307 => 'Temporary Redirect',400 => 'Bad Request',401 => 'Unauthorized',402 => 'Payment Required',403 => 'Forbidden',404 => 'Not Found',405 => 'Method Not Allowed',406 => 'Not Acceptable',407 => 'Proxy Authentication Required',408 => 'Request Timeout',409 => 'Conflict',410 => 'Gone',411 => 'Length Required',412 => 'Precondition Failed',413 => 'Request Entity Too Large',414 => 'Request-URI Too Long',415 => 'Unsupported Media Type',416 => 'Requested Range Not Satisfiable',417 => 'Expectation Failed',418 => 'I\'m a teapot',422 => 'Unprocessable Entity',423 => 'Locked',424 => 'Failed Dependency',425 => 'Unordered Collection',426 => 'Upgrade Required',449 => 'Retry With',450 => 'Blocked by Windows Parental Controls',500 => 'Internal Server Error',501 => 'Not Implemented',502 => 'Bad Gateway',503 => 'Service Unavailable',504 => 'Gateway Timeout',505 => 'HTTP Version Not Supported',506 => 'Variant Also Negotiates',507 => 'Insufficient Storage',509 => 'Bandwidth Limit Exceeded',510 => 'Not Extended');
$http_status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if($v){ echo "<script>console.log('HTTP Status Code\\n ". $http_status . " - " . $http_codes[$http_status]. "\\n');</script>"; }
curl_close($curl);
}
@AlexBezuska
Copy link
Author

usage : postJSONtoURL($data, $url, true);
true turns on javascript console logging for error codes / http status

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment