WordPress Error uploading image: 401 API Python Script

When you’re using Basic Authentication, you can’t just pass the {username}:{password} string; you need to base64-encode it. libcurl docs on Basic Auth So your line ‘Authorization’: ‘Basic ‘ + WP_USER + ‘:’ + WP_APPLICATION_PASSWORD should be more like ‘Authorization’: ‘Basic ‘ + base64( WP_USER + ‘:’ + WP_APPLICATION_PASSWORD ) (I don’t know how Python does … Read more

How do I return XML to an API post request

because you don’t return JSON, you can use admin-post.php. create a hook like that : add_action(“admin_post_nopriv_MY_PLUGIN__answer”, function () { header(“Content-type: text/xml”); echo “<abc><def>1</def></abc>”; exit(); }); and then use the url /wp-admin/admin-post.php?action=MY_PLUGIN__answer. when you do debugging, don’t forget that admin_post_nopriv only answers on unconnected users then you can open the url in another browser.

Load More : Admin Ajax 400 Bad request, returning 0

You’re using an invalid Content-Type header. x-www-form-urlencoded isn’t a valid content-type. The correct content type is application/x-www-form-urlencoded. Essentially, the web server doesn’t know how to handle the content type you’re giving it to parse the parameters. This is why the request is failing with a 400 because WP is not getting anything in the POST … Read more

Can I send a body using wp_remote_get()?

I think I’ve figured out the solution. The short answer is GET requests don’t usually have a body, but wp_remote_get() will take what one assigns to the body argument and make it into URL parameters. That’s why it expects an array (because each element of the array becomes a parameter added to the URL). One … Read more