Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

HTTP-fout 400 bij delen artikel via Twitter

Pagina: 1
Acties:
  • 304 views

  • funk-e
  • Registratie: September 2005
  • Laatst online: 14-11 14:47
In het nieuwsbericht nieuws: 'Providers straffen Apple om plan geïntegreerde simkaart iPhone' krijg ik een HTTP-fout 400 als ik het artikel probeer te delen via Twitter.


Bij andere nieuwsberichten lijk het wel goed te gaan.

...less is more


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

De fout:
code:
1
Invalid Unicode value in one or more parameters /home?status=%27Providers%20straffen%20Apple%20om%20plan%20ge%EFntegreerde%20simkaart%20iPhone%27%3A%20http%3A%2F%2Ftwk.rs%2Fnhnp

[ Voor 8% gewijzigd door jelmervos op 03-12-2010 15:16 ]

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

De url is gewoon netjes encoded... maar blijkbaar denkt ergens iets dat het unicode moet zijn terwijl wij iso8859 encoden. Ik heb overigens geen idee waar het dan fout zou gaan, als ik er op klik krijg ik gewoon een twitter login dingetje (en ik heb geen account, dus verder kom ik niet).

  • TripleQ
  • Registratie: Juni 2004
  • Niet online
Met Chrome krijg ik ook die melding. Je komt niet eens bij het twitter login scherm

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Ligt aan de %EF :)

Verander die in een normale i en 't werkt wel.

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 19-11 18:15

Sebazzz

3dp

ACM schreef op vrijdag 03 december 2010 @ 16:11:
De url is gewoon netjes encoded... maar blijkbaar denkt ergens iets dat het unicode moet zijn terwijl wij iso8859 encoden. Ik heb overigens geen idee waar het dan fout zou gaan
Ik wel, je URL encode niet volgens RFC3986.

ï is niet %EF maar %C3%AF. De goede URL is dus:
http://twitter.com/home?status=%27Providers%20straffen%20Apple%20om%20plan%20ge%c3%afntegreerde%20simkaart%20iPhone%27%3A%20http%3A%2F%2Ftwk.rs%2Fnhnp


Check ook dit: http://www.albionresearch.com/misc/urlencode.php
Als je ï URL encode normaal krijg je %C3%AF, maar als je RFC2396 mode gebruikt krijg je %EF.

[ Voor 16% gewijzigd door Sebazzz op 03-12-2010 16:19 ]

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


  • Osiris
  • Registratie: Januari 2000
  • Niet online
Sebazzz schreef op vrijdag 03 december 2010 @ 16:16:
[...]

Check ook dit: http://www.albionresearch.com/misc/urlencode.php
Als je ï URL encode normaal krijg je %C3%AF, maar als je RFC2396 mode gebruikt krijg je %EF.
Toch jammer, RFC3986 (welke RFC2396 vervangt) is alweer bijna 6 jaar oud :D

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 19-11 18:15

Sebazzz

3dp

Osiris schreef op vrijdag 03 december 2010 @ 16:21:
[...]

Toch jammer, RFC3986 (welke RFC2396 vervangt) is alweer bijna 6 jaar oud :D
Maar minder oud dan RFC2396 dat uit 1998 stamt.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


  • Osiris
  • Registratie: Januari 2000
  • Niet online
Sebazzz schreef op vrijdag 03 december 2010 @ 16:23:
[...]

Maar minder oud dan RFC2396 dat uit 1998 stamt.
The hell...

PHP's manual van rawurlencode bewéért RFC3986-compatible te zijn, maar in mn lokale testcase returnt 't gewoon %EF _O-

Nou, lekker dan..

[ Voor 36% gewijzigd door Osiris op 03-12-2010 16:44 ]


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Sebazzz schreef op vrijdag 03 december 2010 @ 16:16:
Ik wel, je URL encode niet volgens RFC3986.
Waar leidt je uit RFC3986 af dat je verplicht UTF-8 encoding moet gebruiken? Ik zie alleen maar dingen over dat er verschillende encodings bestaan over de wereld en dat je in een url alles wat niet in US-ASCII (en niet unreserved is) voorkomt moet percent-encoden.
Het enige wat imho duidt op iets wat eventueel als verplichting te interpreteren is, is dit:
A system that internally provides identifiers in the form of a different character encoding, such as EBCDIC, will generally perform character translation of textual identifiers to UTF-8 [STD63] (or some other superset of the US-ASCII character encoding) at an internal interface, thereby providing more meaningful identifiers than those resulting from simply percent-encoding the original octets.
ï is niet %EF maar %C3%AF.
De eerste is een single-byte encoding op basis van o.a. ISO-8859-15, en zoals je op wikipedia kan zien is dat gewoon %EF voor de ï. De tweede is een multi-byte encoding, vast op basis van UTF-8. Nogmaals ik zie in die specificatie geen verplichting UTF-8 te gebruiken, maar blijkbaar gaat twitter er wel van uit dat de opgegeven data in de url UTF-8 is. Dat wij er dus geen UTF-8 inzetten is dan wel onze fout, maar de encoding is niet per se incorrect.
Check ook dit: http://www.albionresearch.com/misc/urlencode.php
Als je ï URL encode normaal krijg je %C3%AF, maar als je RFC2396 mode gebruikt krijg je %EF.
Het verschil zit hem puur in het wel/niet in UTF-8 encoden.
Osiris schreef op vrijdag 03 december 2010 @ 16:37:
The hell...

PHP's manual van rawurlencode bewéért RFC3986-compatible te zijn, maar in mn lokale testcase returnt 't gewoon %EF _O-

Nou, lekker dan..
Tenzij jij kan vinden waar in RFC3986 het verplicht wordt gesteld dat je alle karakters eerst naar UTF-8 encode, zie ik niet in waarom ze niet aan die RFC zouden voldoen met dit gedrag?

Als je per se %C3%AF eruit wil krijgen moet je het zo doen (er van uit gaande dat het dus ISO-8859-15 is):
PHP:
1
urlencode(iconv('ISO-8859-15', 'UTF-8', 'ï'));

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Gefixed; de titel wordt nu eerst omgezet naar UTF8 :)

Intentionally left blank

Pagina: 1

Dit topic is gesloten.