Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LJ.XMLRPC.getevents #68

Closed
ph1ex0n opened this issue Nov 20, 2018 · 4 comments
Closed

LJ.XMLRPC.getevents #68

ph1ex0n opened this issue Nov 20, 2018 · 4 comments

Comments

@ph1ex0n
Copy link

ph1ex0n commented Nov 20, 2018

An error occurred: Code: 104
Reason: 'Received from server invalid compressed HTTP'

livejournal.com

@gggeek
Copy link
Owner

gggeek commented Nov 22, 2018

Hello.
I am sorry, but the information you have provided is not enough to act upon.

To help with troubleshooting, I would need, In no particular order:

  • version of the library in use
  • url of the server called
  • details about the call made

In the meantime, you can bump up the debug level on the client class, to have it echo to screen the payload received by the server along with the http headers of the response.

@ph1ex0n
Copy link
Author

ph1ex0n commented Nov 23, 2018

i made install with composer require phpxmlrpc/phpxmlrpc:4.0

  • Copyright (c) 1999,2000,2002 Edd Dumbill.
  • $c = new xmlrpc_client("/interface/xmlrpc", "www.livejournal.com", 80);
  • https://habr.com/post/114385/ it's example for getevents (russian)

this is server response
PhpXmlRpc\Response Object ( [val] => 0 [valType] => [errno] => 104 [errstr] => Received from server invalid compressed HTTP [payload] => [hdrs] => Array ( ) [_cookies] => Array ( ) [content_type] => text/xml [raw_data] => x ÕkoH ÿ ý Å3 K¨ºXëx5ò ·+Õ*b(Ááb1 ®ûë÷ ÀÝ®ë&´ÆU"% ÍõeßgÎýæs ª° q]_°!½ Ù* â,º¾øçýWæÅ ÇNCy PlòL½ñ ? íÓ±+?)¡TÈ¢\IlÞcg~ :â!Þؤ~Ý·3éPàÃ&m Ùwú_ç° 3) ºûEáï ;ð¥ÿøÔ± Ó882ù)J§ùEy· Wò;_ºæп¾xtµÙ|êRν Kqm¶A; ¾ VÞyÈ×eò¯ øÄ__ýÁ} ~ 6iÛ>1KðÃU*cÕm!j­2NÃãz ÊÌ+Æ® :ʲ1¥]õ­üìãOÓï×¢ÖØI]G?¡M3»jó³2="Jïöã-丢{)7bL¿óïòÝ0«pEæ'CX ÒÆex/Ó¤«Ò:> q ôÓcc#M1¨¦u _d )åc½ ÷5¿êOµ ðçôò ^5Nfs×¢|âÀ5èÒðäÜÝ6uî êL¬Ò½¤ËIãe>YDMÅze®Jù Ö½­ë¤Ë(¯ ëÿÚ,¢ÀÕèò¦­ûây Ú·ÓK7~ ÍÜ[® Å ¦â*N©S <Ö:Oõ8 F#³o( + ´Zz" óC âr (P¾ (t ü PX£ñÁ
WZv~FH´NZ{å;0; àµæßê îK)¯ ó ]V8 º0ªÿ wª_ Sz×}àÁª9< æpdô ÚñGÝ Ì 0s� )

response must be for example
Array ( [dtalkid] => 15001438 [commentlink] => https://***.livejournal.com/1311070.html?thread=15001438#t15001438 [status] => OK )

i can't understand what is it this
[errstr] => Received from server invalid compressed HTTP

sorry for bad english

@gggeek
Copy link
Owner

gggeek commented Nov 23, 2018

Ok, so what is probably going on here is the fact that the client declares in its http request that it supports reception of compressed responses (this is done via sending an Accept-Encoding http header). The server sends a compressed response, but then the client finds out that it cannot decompress it.

The client does declares its support for compressed responses because you have the zlib php extension enabled.
This is done automatically, but you can turn it off by adding a $client->setAcceptedCompression(false) call.

I would suggest that you first check if the xmlrpc payload that you get back without compression is what you expect, and then, if you really want compression, continue the debugging from there.

@ph1ex0n
Copy link
Author

ph1ex0n commented Nov 23, 2018

WOW!
setAcceptedCompression is run
thank you very much!

@ph1ex0n ph1ex0n closed this as completed Nov 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants