this was meant to be a simplistic example showing one potential solution to attempt to parse out information from a website, specifically left out any form of error checking as to not get too convoluted and the method get lost behind all the extra bits... There is ZERO error checking in this example... You should test the $urlget(ID).state for "ok" or "fail" (fail will mean something went wrong so the binvar doesn't exist)
You should also look at the beginning of $urlget(Id).reply (which is an unusual name scheme for the return headers...) for the specific return code also before attempting to process any further, which can give you insight on if the binvar will contain anything, or to why your request failed.
Other reasons could be usage, like using other options like "hpuad"
h=head (request headers only, no body)
u=put (You're pushing a resource, and awaiting a conformation header upon completion)
a=patch (you're pushing a partial modification to a resource, and awaiting a conformation header upon completion)
d=delete (you're requesting a resource be removed, and awaiting a conformation header upon completion)
p=post (your body is form data, typically used with a header of Content-type: multipart/form-data accompanied by a Content-Length: of how many bytes are within your post body. multipart/form-data uses a boundary to isolate form fields typically used for items such as file-uploads. You don't have to use multipart/form-data, it could also represent form-data similar to a query-string from a GET request, the extra bits after the "?")
Typically a successful POST results in a return body, but does not have to...
I believe any HTTP response NOT in the 200's range will result in the binvar not being filled, 400+ range will result in a $urlget(Id).state of "fail".
In your case, the response from the server was a 403 forbidden, resulting in $urlget(Id).state being a "fail" and nothing being filled into the binvar.
The most common responses are as follows:
405=Method Not Allowed
407=Proxy Authentication Required
413=Request Entity Too Large
414=Request-URI Too Large
415=Unsupported Media Type
416=Requested range not satisfiable
431=Request Header Fields Too Large
500=Internal Server Error
505=HTTP Version not supported