Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 28.02.2014
Сообщений: 3

Авторизоваться на сайте и залить на него файл

15.10.2014, 19:24. Показов 788. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Есть сайт (site.com/index.php) , нужно на нём авторизоваться и залить файл POST запросом (site.com/upload.php).
Проблема в том, что после авторизации, заходя на site.com/upload.php сайт снова требует авторизации.
Прошу помочь)
Исходник прилагается.
Вот код кнопки авторизации:
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
  Dim eUrl As URL
    
    Dim strMethod As String
    Dim strData As String
    Dim strPostData As String
    Dim strHeaders As String
    
    Dim strHTTP As String
    Dim X As Integer
    
    strPostData = ""
    strHeaders = ""
    strMethod = cboRequestMethod.List(cboRequestMethod.ListIndex)
    
    If blnConnected Then Exit Sub
    
    ' get the url
    eUrl = ExtractUrl(txtUrl.Text)
    
    If eUrl.Host = vbNullString Then
        MsgBox "Invalid Host", vbCritical, "ERROR"
    
        Exit Sub
    End If
    
    ' configure winsock
    winsock.Protocol = sckTCPProtocol
    winsock.RemoteHost = eUrl.Host
    
    If eUrl.Scheme = "http" Then
        If eUrl.Port > 0 Then
            winsock.RemotePort = eUrl.Port
        Else
            winsock.RemotePort = 80
        End If
    ElseIf eUrl.Scheme = vbNullString Then
        winsock.RemotePort = 80
    Else
        MsgBox "Invalid protocol schema"
    End If
    
    strData = ""
    For X = 0 To txtVariableName.Count - 1
        If txtVariableName(X).Text <> vbNullString Then
        
            strData = strData & URLEncode(txtVariableName(X).Text) & "=" & _
                            URLEncode(txtVariableValue(X).Text) & "&"
        End If
    Next X
    
    If eUrl.Query <> vbNullString Then
        eUrl.URI = eUrl.URI & "?" & eUrl.Query
    End If
 
    If strData <> vbNullString Then
        strData = Left(strData, Len(strData) - 1)
        
           End If
 
            strPostData = strData
            strHeaders = "Content-Type: application/x-www-form-urlencoded" & vbCrLf & _
                         "Content-Length: " & Len(strPostData) & vbCrLf
                         
    txtResponse.Text = ""
 
    strHTTP = strMethod & " " & eUrl.URI & " HTTP/1.0" & vbCrLf
    strHTTP = strHTTP & "Host: " & eUrl.Host & vbCrLf
    strHTTP = strHTTP & strHeaders
    strHTTP = strHTTP & vbCrLf
    strHTTP = strHTTP & strPostData
 
    txtRequest.Text = strHTTP
    
    winsock.Connect
 
    While Not blnConnected
        DoEvents
    Wend
 
    winsock.SendData strHTTP

А это загрузки файла
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
      Dim strFile As String
    Dim strHTTP As String
    Dim DestUrl As URL
    
    ' if a request is allredy being sent
    ' exit
   ' If blnConnected Then Exit Sub
    
    ' check that a file was selected
    If txtUploadFile.Text = vbNullString Then
        MsgBox "No File Chosen", vbCritical, "ERROR"
        
        Exit Sub
    End If
 
    ' extract the URL using a helper function
    DestUrl = ExtractUrl(txtUrl.Text)
    
    If DestUrl.Host = vbNullString Then
        MsgBox "Invalid Host", vbCritical, "ERROR"
        
        Exit Sub
    End If
    
    ' clear the old response
    txtResponse.Text = ""
    
    ' read the file contents as a string
    ' N.B: in HTTP everything is a string, even binary files
    strFile = GetFileContents(txtUploadFile.Text)
    
    ' build the HTTP request
    strHTTP = BuildFileUploadRequest(strFile, DestUrl, txtName.Text, file.FileName, txtMIMEType.Text)
    
    ' assign the protocol host and port
    winsock.Protocol = sckTCPProtocol
    winsock.RemoteHost = DestUrl.Host
    
    If DestUrl.Port <> 0 Then
        winsock.RemotePort = DestUrl.Port
    Else
        winsock.RemotePort = 80
    End If
            
    ' make the connection and send the HTTP request
    winsock.Connect
    
    While Not blnConnected
        DoEvents
    Wend
    
    txtRequest.Text = strHTTP
    winsock.SendData strHTTP
Вложения
Тип файла: rar file_upload.rar (6.4 Кб, 10 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.10.2014, 19:24
Ответы с готовыми решениями:

Программно авторизоваться на сайте
Можете помочь с кодом. Мне нужен код что бы авторизоваться на сайте. Вот сайт telonko.ру (ru) Писал сам код, ко каждый раз разные ошибки

Не могу авторизоваться на сайте
var login: String; pass: String; Auth_key,referer: String; html,a1:String; cookie: TIdCookieManager; str:TStringList; a:...

Как авторизоваться на сайте?
есть сайт на котором авторизация происходит либо через вконтакте (ulogin) либо логин пароль сам сайт http://ad-social.org/ ...

2
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
15.10.2014, 20:38
Вот я тут извращался с запросами, может поможет...

Добавлено через 31 секунду
https://www.cyberforum.ru/post6323023.html
1
0 / 0 / 0
Регистрация: 28.02.2014
Сообщений: 3
23.10.2014, 20:37  [ТС]
Up! Прошу помощи!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.10.2014, 20:37
Помогаю со студенческими работами здесь

Программно авторизоваться на сайте
Такой вопрос - необходимо написать программу, на которой будет поля для ввода логина и пароля и кнопка отправить. Программа должна послать...

Как авторизоваться на сайте в ВК?
Как авторизоваться на сайте в ВК, через Post-запрос для получения скрытых от общего просмотра сведений? GET-запрос выполняю через...

как авторизоваться на сайте?
Приветствую всех. Не получается у меня что-то авторизоваться на сайте glopart.ru Может кто подскажет, какие там могут быть костыли?...

Авторизоваться На Сайте И Отправить Get
Всем привет! Разобрался как отправить get запрос, а как авторизоваться не могу понять. Киньте примерчик если не сложно. форма...

Не получается авторизоваться на сайте
Пытаюсь программно авторизоваться на сайте, захожу на сайт, принимаю куки, далее их отправляю пост запросом, все запросы совпадают -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru