В общем пишу регер для твиттера ( точнее регер + чтобы подписывался на моей страницек рассылкам ) Снифер при реге в браузере показывает что POST данные уходят на адрес twitter.com, а sunapse отсылает на twitter.com:443 и из-за этого не может пройти регистрация. Тоесть я видел где-то исходники, и должна быть такая строка: Code: http.HTTPMethod('GET','https://twitter.com/account/create'); !!! тут должно происходить замена в хидерах текста:"twitter.com" на:"twitter.com:443" !!! ........... http.HTTPMethod('POST','https://twitter.com/account/create'); не подскажите как заменяется ?
я около суток рыл инет в поисках решения, и вот оно: Code: HTTP.AddPortNumberToHost:=false; при чем что характерно на куче блогов один и тот же пример, но нигде нету вот этой вот строчки из-за которой нифига не пашет :/
1. Открываешь модуль с этим классом (Ctrl+Left Click по идентификатору). Смотришь объявление класса, и ориентируясь по интерфейсу с минимальными знаниями инглиша находишь нужные методы или свойства. 2. Если не помголо открываешь доки. Смотришь теже интерфейсы + доступны пояснения. 3. И только если уже это не помогло то теребишь гугл или разработчиков. Лично я бы потратил на поиск не более 10 минут, остановившись на 1 пункте. Вернее даже бы не потратил, т.к. бы бегло ознакомился с возможностями сразу после скачивания библиотеки. PS Это всего лишь совет, а не наезд. И вообще это стандартная практика у программистов.
спасибо, просто как обычно пробовал разбраться "нахрапом", а не вышло. буду знать. точнее даже не нахрапом, а просто копи-пастом.
спс - проблема на половину исчезла. Теперь мне в ответ приходит такой вот текст: Code: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>400 Bad Request</title> </head><body> <h1>Bad Request</h1> <p>Your browser sent a request that this server could not understand.<br /> Request header field is missing ':' separator.<br /> <pre> HTTP/1.1 200 OK</pre> </p> </body></html>
На собственном опыте: ты где-то в хедере отправляешь "имя=значение", а нуна "имя:значение" google translate в помощь, если с английским туго. после перевода как обычно понятнее становится
Да нет, скорее ты что то неправильно делаешь. А вообще, такого как Sunapse и сунапс нету. Есть Synapse. Это очень стабильный компонент, проверено.
он не меняет, проверь везде то, что в Indy было idhttp.request.connection:='keep-alive' тут будет http.customheaders.add('connection:keep-alive');//двоеточие, а не = за синтаксис синапса сильно не бить, сейчас проверить не могу, но я думаю смысл ты уловишь
Ну вот Headers который передается серваку: Code: POST /account/create HTTP/1.0 Host: twitter.com Keep-Alive: 300 Connection: keep-alive User-Agent: Mozilla/4.0 (compatible; Synapse) Content-Type: application/x-www-form-urlencoded Content-Length: 197 HTTP/1.1 200 OK Date: Tue, 17 May 2011 17:02:28 GMT Server: hi Status: 200 OK X-Transaction: 1305651748-4371-52215 ETag: "4de9537daa7a4a2cde4177245363e923" X-Frame-Options: SAMEORIGIN Last-Modified: Tue, 17 May 2011 17:02:28 GMT X-Runtime: 0.18679 Content-Type: text/html; charset=utf-8 Content-Length: 69970 Pragma: no-cache X-Revision: DEV Expires: Tue, 31 Mar 1981 05:00:00 GMT Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0 X-MID: f3485c1dd2f96280cb35f7d97e6947123ae9eab3 Set-Cookie: k=94.41.95.198.1305651748616601; path=/; expires=Tue, 24-May-11 17:02:28 GMT; domain=.twitter.com Set-Cookie: guest_id=130565174861935681; path=/; expires=Thu, 16 Jun 2011 17:02:28 GMT Set-Cookie: auth_token=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT Set-Cookie: _twitter_sess=BAh7CDoPY3JlYXRlZF9hdGwrCA2f6P4vAToHaWQiJWQ5NWQwZjE0YjEwZThl%250AMGRmNzJhMzU3ZDMwODYwM2IzIgpmbGFzaElDOidBY3Rpb25Db250cm9sbGVy%250AOjpGbGFzaDo6Rmxhc2hIYXNoewAGOgpAdXNlZHsA--bd8560fec1ddc16b2db38b9568b354c81772973a; domain=.twitter.com; path=/; HttpOnly X-XSS-Protection: 1; mode=block Vary: Accept-Encoding Keep-Alive: timeout=15, max=100 Connection: Keep-Alive authenticity_token=&user[name]=jjpowc&user[email]=b122863@klzlk.com&user[screen_name]=jjpowc154&user[user_password]=jjpowc158745&context=&user[discoverable_by_email]=1&user[send_email_newsletter]=1
Mifody покупаем 2 мотоцикла, свариваем их вместе приделываем кузов и вот у нас готова машина! В общем, не советуй ерунды.