Jak wysłać POST request do jakiejś strony

0

Tak jak w temacie. Potrzebuję przykładu i dokładnego wytłumaczenia w jaki sposób to działa. Siedzę w tym już kilka godzin i jedynie co postępuje to gniew i irytacja. Google bombarduje mnie filmikami hindusów i jakimiś przykładami co nie działają. Byłbym bardzo wdzięczny za jakąkolwiek forme pomocy.

https://www.mkyong.com/java/how-to-send-http-request-getpost-in-java/
próbowałem tego. GET działa, ale POST wywala errora.

0

Tam są dwie metody opisane. Nie napisałeś która ci nie działa, czy druga działa, jaki ten błąd i właściwie nic konkretnego. Trudno na tej podstawie pomóc.

0

Oba nie działają. W drugim pojawiają się błędy typu
"Error:(10, 30) java: package org.apache.http.client does not exist"
a polecenia import są zaznaczone na szaro z informacją "Unused import statement".

W pierwszym GET działał, ale przy POST uzyskałem odpowiedz 404.

0

W pierwszym dodałeś do projektu wymagane biblioteki apaczowe? W drugim masz serwer, który odpowiada na posty? Napisz sobie zwykły formularz HTML, który będzie mógł generować te posty z przeglądarki i zobacz, czy to działa.

0

W jaki sposób je dodać? Te import.cośtam.cośtam nie wystarczą tak jak dyrektywy include w C?

0

Nie wystarczą. W C też nie wystarczają (nie zawsze). Nie wiem w jakim IDE robisz, ale pewnie wszędzie można podobnie. Utwórz sobie w projekcie katalog, ściągnij to:
http://ftp.ps.pl/pub/apache//httpcomponents/httpclient/binary/httpcomponents-client-4.5.3-bin.zip , rozpakuj i przekupiuj pliki jar do tego katalogu. Następnie kliknij na każdym prawym myszy i wybierz coś jak Add to build path. Dopiero wtedy będą działać importy. Oczywiście można to zrobić prościej używając mavena, ale może najpierw zacznij od tego.

0

Oki, zadziałało.
Teraz dostaję komunikat

Testing 2 - Send Http POST request
Sending 'POST' request to URL : https://selfsolve.apple.com/wcResults.do
Post parameters : [Content-Type: application/x-www-form-urlencoded,Content-Length: 45,Chunked: false]
Response Code : 404

I teraz nie wiem. Jest możliwe że kod zadziałał poprawnie a wina leży po stronie tej stronki? W sumie ciężko kompletnie zielonemu wyciągnąć wnioski jak to działa.

<form method="POST" action="https://4programmers.net/Login" accept-charset="UTF-8"><input name="_token" type="hidden" value="uWO54HL5cS0Av3MA79ZbWGBUyUmuFSCRWWPKjp3J">
                    
<div class="form-group">
            
<label class="control-label">Nazwa użytkownika <em>*</em></label>    
            <input autofocus="autofocus" class="form-control" name="name" type="text">

            </div>

                    
<div class="form-group">
            
<label class="control-label">Hasło <em>*</em></label>    
            <input class="form-control" name="password" type="password" value="">

            </div>


                    <div class="form-group">
                     

                        <button data-submit-state="Logowanie..." class="btn btn-primary" type="submit">Logowanie</button><a href="https://4programmers.net/Password" style="margin-left: 15px">Zapomniałeś hasła?</a>
                    </div>
                </form>

Powiedzmy, że wyciąłem sobie w celu testów kawałek kodu 4programmers. Jak wyglądałoby wysłanie loginu i hasła do tego formularza?

0

Artykuł jest z 2013 roku, możliwe, że adresy już są nieaktualne. Lepiej poszukaj czegoś, co będzie pewne, bo teraz musisz zgadywać, czy nie działa twój kod, czy serwer.

0

Kod działa. Pytanie tylko czy takie coś wystarczy żeby sie zalogować na jakiejś stronie? Czy musze do tego podejść w inny sposób?

0

To już zależy od strony. W większości przypadków po zalogowaniu w odpowiedzi dostajesz ciasteczko sesyjne albo jeszcze jakieś inne i trzeba je odsyłać.

0

ehh.... A apka napisana w Javie może jakoś sobie poradzić z tymi cookies? A i czy ten sposób z wysyłaniem POSTów do stronek działa tylko dla HTTP czy dla HTTPS też zadziała?

0

Tak, może sobie dać. Z https też sobie raczej poradzi.

0

Wszelkie protipy mile widziane ;/ nie wiem praktycznie nic o ciasteczkach, google słabo pomaga

0

Witam,
Gdybyś robił to tą pierwszą metodą to musisz ciasteczka wyłapać. Robiłem kiedyś logowanie i korzystałem z tej pierwszej metody. Można wziąć i wyciągnąć z obiektu URLConection cały header i z tego ciasteczka, które później wysyłasz.
Pozdrawiam

0

Masz może kod tego?

0

Wiesz co, mam go gdzieś jeszcze, ale wolałbym go nie upubliczniać tego na forum. Daj jakiś kontakt do siebie to Ci to podeślę :)

0
Krzywy Orzeł napisał(a):

Wiesz co, mam go gdzieś jeszcze, ale wolałbym go nie upubliczniać tego na forum. Daj jakiś kontakt do siebie to Ci to podeślę :)

[email protected]

1 użytkowników online, w tym zalogowanych: 0, gości: 1