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

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

15.10.2014, 19:24. Показов 804. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru