|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
Здравствуйте! Всех с прошедшим Днём Победы! Есть PHP-файл на сервере с формой отправки файла и есть локальный файл для передачи на сервер. Проверил результаты функций: на выходе нуля нет. Параметр dwBytesWritten в функции InternetWriteFile выдаёт определённое число отличное от нуля, но файл на сервере не появляется. Подскажите, пожалуйста, в чём у меня ошибка? Уже несколько дней сижу, не могу понять. Файл http_in.php: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Код, отправляющий файл на сервер: Код: vbnet 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. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 02:22 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
Поменял файл http_in.php: Всё равно не заработало. Код: html 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 03:34 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
Don Salieri, Ты прочитал данные в "sFile" и более нигде её не используешь sFile = InputB(fLen, #71) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 12:51 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
VSVLAD , Добрый день! Я тоже из Краснодара! Дело в том, что я не пойму, как надо корректно использовать передачу файла. В качестве содержимого буфера у меня используется байтовый массив pBuffer, а sFile - это строковая переменная, я не знаю, зачем она нужна. Я правда никак не могу разобраться. Уже на С++ примеры пересмотрел... Не могу сообразить. Какая-то мелочь упущена... Просто я это делал в 2011 году, сейчас уже не помню. Скорее всего, я тогда не доделал и бросил на середине. Но с первого взгляда я не могу найти тут недочётов. Кто может, подскажите, буду очень рад. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 15:38 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
Don Salieri, там код отправляет пустой массив, загруженный файл никак не используется ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 16:21 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
Eolt , Я, может, вас не так понял, но перед вызовом InternetWriteFile стоит открытие файла в массив pBuffer Код: vbnet 1. 2. 3. 4. 5.
Я специально сейчас сделал код сохранения в файл, проверил, файл непустой! Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 16:51 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
Don Salieri, описание InternetWriteFile не соответствует фактическому вызову. на вид - чепуха написана. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 17:42 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
booby , хорошо, подскажите, пожалуйста, как корректно вызвать? просто я с этими функциями не работал, да и посмотреть особо негде, примеров нет ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 17:54 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
Don Salieri ... я с этими функциями не работал, да и посмотреть особо негде, примеров нет ммм… я тоже не работал и не планирую. ты вообще не читаешь, что в описании и что в вызове? отладку я за тебя проводить не планирую. pBuffer(1) - где списал и понимаешь ли, что здесь кто-то хотел сказать? замени тип второго параметра в описании. Попробуй byval lpBuffer as Long И тогда отдавай VarPtr(pBuffer(0)) дальше сама-сама... https://docs.microsoft.com/en-us/windows/win32/api/wininet/nf-wininet-internetwritefile ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 18:08 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
booby, не увидел, ты явно с единицы перераспределяешь. тогда VarPtr(pBuffer(1)) код откровенно так себе... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 18:13 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
booby , спасибо большое за ответ! поменял, но не изменилось ничего :( Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 18:55 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
Код бред от начала и до конца. IMHO Даже не увидел, что бы где-то корректно POST запрос формировался. Заголовок, Mime Multi Part message и так далее ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 18:59 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev , Я думал, что для этого форма HTML нужна, а иначе какой смысл в ней? Вы меня извините, просто я не понимаю, как корректно это делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 19:14 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
Не очень понимаю, что есть "форма HTML" применительно к WinAPI На HTTP сервер отправляются не сферические "файлы", а запросы (GET или POST) в соотвествии со спецификацией HTTP. Если в POST запросе передается файл, то он, скорее всего, кодируется в соотвествие со спецификацией MIME. Хоть какого-то кода, пытающегося реализовывать формирование HTTP POST запроса, в приведенном Вами куске программы - я не вижу как класс. Т.е. приведенный Вами кусок программы по определению рабочим быть не может. IMHO & AFAIK. Разумеется могу ошибаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 15:20 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 15:31 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev , Дело в том, что делать полный аналог HTML-формы нет смысла. Код, который отправляет файл, полностью заменяя при этом HTML-форму, у меня есть. Я наоборот хотел узнать, нельзя ли программно отправить файл на HTML-страницу с формой, а потом сделать программную отправку формы, чтобы этот файл загрузился на сервер. Или это невозможно? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 20:30 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
У меня есть HTML-страница с формой отправки. Создаю буфер (INTERNET_BUFFERS) и по циклу функцией InternetWriteFile блоками по 2KB передаю файл на HTML-страницу, а потом отправляю форму, файл попадает на сервер. HTML-страница с формой (http_in.htm): Код: html 1. 2. 3. 4.
PHP-страница с обработчиком после отправки формы (http_out.php): Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Возможно ли так? Или необходимо программно формировать POST-запрос от начала и до конца и отправлять сразу на http_out.php? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 20:53 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
Don Salieri отправить файл на HTML-страницу с формой Don Salieri Или необходимо программно формировать POST-запрос от начала и до конца и отправлять сразу на http_out.php? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 21:17 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
Shocker.Pro на неё нельзя ничего отправить а каким образом браузер грузит файл в кэш, а потом отправляет? имя файла браузер передаёт, содержимое файла... вот этот момент непонятен... я думал, что если уже есть форма, это проще и не надо лишний раз морочить голову с POST-запросом, так как об этом позаботится браузер, иначе зачем его писали, если всю работу надо самому делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 21:27 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
но wininet.dll - это ни разу не браузер Кроме того, вряд ли браузер позволит управлять собой таким образом, чтобы куда-то отправить файл без участия пользователя из соображений безопасности ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 22:38 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
Вопрос с отправкой файла решён! Всем огромное спасибо! Код: vbnet 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. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 09:55 |
|
Отправка TXT-файла по HTTP методом POST на WINAPI
|
|||
---|---|---|---|
#18+
Файл с необходимыми данными (для отправки на HTTP-сервер) я прикрепил к письму. Вроде, ещё нужно, наверное, случайным образом Boundary получать, но это отдельный вопрос. Пока и так работает всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 10:02 |
|
|
start [/forum/topic.php?fid=60&msg=39956611&tid=2154810]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 276ms |
total: | 418ms |
0 / 0 |