technosophos / querypath

QueryPath is a PHP library for manipulating XML and HTML. It is designed to work not only with local files, but also with web services and database resources.
http://querypath.org
Other
824 stars 115 forks source link

html5qp does not use stream contexts properly #189

Open letapjar opened 7 years ago

letapjar commented 7 years ago

When trying to access an external resource via POST - apparently the html5qp function does not use the passed in stream context

$options = array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $payload, ), ); $context = stream_context_create($options); $qp = html5qp($url, null, array('context' => $context));

The above code fails to open the resource - because the Masterminds HTML5 apparently tries to use a FileInputStream to grab the url.

When I switch to htmlqp the streamcontext is properly used and the code works.

I'm not sure if this is by design for HTML5 or if this is a bug - and if it is - whether it's an issue for QP or Masterminds\HTML5

letapjar commented 7 years ago

My workaround for now is to call file_get_contents myself using the streamcontext and then pass that resource in to html5qp to get a querypath object with HTML5.