Getting HTTP code in PHP using curl

First make sure if the URL is actually valid (a string, not empty, good syntax), this is quick to check server side. For example, doing this first could save a lot of time: if(!$url || !is_string($url) || ! preg_match(‘/^http(s)?:\/\/[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(\/.*)?$/i’, $url)){ return false; } Make sure you only fetch the headers, not the body content: @curl_setopt($ch, … Read more

Adding a HTTP header to the Angular HttpClient doesn’t send the header, why?

The instances of the new HttpHeader class are immutable objects. Invoking class methods will return a new instance as result. So basically, you need to do the following: let headers = new HttpHeaders(); headers = headers.set(‘Content-Type’, ‘application/json; charset=utf-8’); or const headers = new HttpHeaders({‘Content-Type’:’application/json; charset=utf-8′}); Update: adding multiple headers let headers = new HttpHeaders(); headers … Read more

What is the “Upgrade-Insecure-Requests” HTTP header?

Short answer: it’s closely related to the Content-Security-Policy: upgrade-insecure-requests response header, indicating that the browser supports it (and in fact prefers it). It took me 30mins of Googling, but I finally found it buried in the W3 spec. The confusion comes because the header in the spec was HTTPS: 1, and this is how Chromium … Read more

What exactly does the Access-Control-Allow-Credentials header do?

By default, CORS does not include cookies on cross-origin requests. This is different from other cross-origin techniques such as JSON-P. JSON-P always includes cookies with the request, and this behavior can lead to a class of vulnerabilities called cross-site request forgery, or CSRF. In order to reduce the chance of CSRF vulnerabilities in CORS, CORS … Read more

How to evaluate http response codes from bash/shell script?

I haven’t tested this on a 500 code, but it works on others like 200, 302 and 404. response=$(curl –write-out ‘%{http_code}’ –silent –output /dev/null servername) Note, format provided for –write-out should be quoted. As suggested by @ibai, add –head to make a HEAD only request. This will save time when the retrieval is successful since … Read more

S3 – Access-Control-Allow-Origin Header

Usually, all you need to do is to “Add CORS Configuration” in your bucket properties. The <CORSConfiguration> comes with some default values. That’s all I needed to solve your problem. Just click “Save” and try again to see if it worked. If it doesn’t, you could also try the code below (from alxrb answer) which … Read more

How do I force files to open in the browser instead of downloading (PDF)?

To indicate to the browser that the file should be viewed in the browser, the HTTP response should include these headers: Content-Type: application/pdf Content-Disposition: inline; filename=”filename.pdf” To have the file downloaded rather than viewed: Content-Type: application/pdf Content-Disposition: attachment; filename=”filename.pdf” The quotes around the filename are required if the filename contains special characters such as filename[1].pdf … Read more

Difference between application/x-javascript and text/javascript content types

text/javascript is obsolete, and application/x-javascript was experimental (hence the x- prefix) for a transitional period until application/javascript could be standardised. You should use application/javascript. This is documented in the RFC. As far a browsers are concerned, there is no difference (at least in HTTP headers). This was just a change so that the text/* and … Read more

Passing headers with axios POST request

When using Axios, in order to pass custom headers, supply an object containing the headers as the last argument Modify your Axios request like: const headers = { ‘Content-Type’: ‘application/json’, ‘Authorization’: ‘JWT fefege…’ } axios.post(Helper.getUserAPI(), data, { headers: headers }) .then((response) => { dispatch({ type: FOUND_USER, data: response.data[0] }) }) .catch((error) => { dispatch({ type: … Read more