質問編集履歴

6

修正

2018/09/03 03:00

投稿

moroheia
moroheia

スコア14

test CHANGED
File without changes
test CHANGED
@@ -157,3 +157,307 @@
157
157
 
158
158
 
159
159
  ```
160
+
161
+
162
+
163
+ ```ここに言語を入力
164
+
165
+ const functions = require('firebase-functions');
166
+
167
+ const admin = require('firebase-admin');
168
+
169
+ const http = require('http');
170
+
171
+ admin.initializeApp();
172
+
173
+ const request = require('request');
174
+
175
+ const querystring = require('querystring')
176
+
177
+ const stringify = querystring.stringify;
178
+
179
+ var message = "none";
180
+
181
+
182
+
183
+
184
+
185
+ exports.hello = functions.https.onRequest((request, response) => {
186
+
187
+ if (request.query.email !== undefined) {
188
+
189
+ var param = {
190
+
191
+ email:request.query.email,
192
+
193
+ value:request.query.value,
194
+
195
+ data:request.query.data
196
+
197
+ }
198
+
199
+
200
+
201
+ //------データの処理箇所は割愛します------//
202
+
203
+
204
+
205
+ if(user == 0) {
206
+
207
+ var message = "mail";
208
+
209
+ } else {
210
+
211
+ var message = "yes";
212
+
213
+ var host = (snapshot.val() && snapshot.child( user + "/host").val()) || 'Anonymous';
214
+
215
+
216
+
217
+ var options = {
218
+
219
+ host: host,
220
+
221
+ port: ****,
222
+
223
+ method: 'POST',
224
+
225
+ contentType: 'text/plain',
226
+
227
+ headers: {
228
+
229
+ email: request.query.email,
230
+
231
+ value:request.query.value,
232
+
233
+ data:request.query.data
234
+
235
+ }
236
+
237
+ };
238
+
239
+ }
240
+
241
+
242
+
243
+
244
+
245
+ //---POST---//
246
+
247
+ response.status(200).send(message);
248
+
249
+ const req = http.request(options, (res) => {
250
+
251
+ })
252
+
253
+ req.on('error', (e) => {
254
+
255
+ console.log('problem with request: ' + e.message);
256
+
257
+ response.status(404).send(message);
258
+
259
+ });
260
+
261
+ req.end();
262
+
263
+
264
+
265
+ })
266
+
267
+ .catch(error => {
268
+
269
+ response.status(404).send(message)
270
+
271
+ })
272
+
273
+
274
+
275
+
276
+
277
+ } else {
278
+
279
+ response.status(400).send(message);
280
+
281
+ }
282
+
283
+
284
+
285
+ });
286
+
287
+
288
+
289
+ ```
290
+
291
+
292
+
293
+ ### 以下が二箇所に送信しようとした[サイトB](Firebase)の内容です。
294
+
295
+
296
+
297
+ ```ここに言語を入力
298
+
299
+ const functions = require('firebase-functions');
300
+
301
+ const admin = require('firebase-admin');
302
+
303
+ const http = require('http');
304
+
305
+ admin.initializeApp();
306
+
307
+ const request = require('request');
308
+
309
+ const querystring = require('querystring')
310
+
311
+ const stringify = querystring.stringify;
312
+
313
+ var message = "none";
314
+
315
+
316
+
317
+
318
+
319
+ exports.hello = functions.https.onRequest((request, response) => {
320
+
321
+ if (request.query.email !== undefined) {
322
+
323
+ var param = {
324
+
325
+ email:request.query.email,
326
+
327
+ value:request.query.value,
328
+
329
+ data:request.query.data
330
+
331
+ }
332
+
333
+
334
+
335
+ //------データの処理箇所は割愛します------//
336
+
337
+
338
+
339
+ if(user == 0) {
340
+
341
+ var message = "mail";
342
+
343
+ } else {
344
+
345
+ var message = "yes";
346
+
347
+ var host = (snapshot.val() && snapshot.child( user + "/host").val()) || 'Anonymous';
348
+
349
+
350
+
351
+ var options = {
352
+
353
+ host: host,
354
+
355
+ port: ****,
356
+
357
+ method: 'POST',
358
+
359
+ contentType: 'text/plain',
360
+
361
+ headers: {
362
+
363
+ email: request.query.email,
364
+
365
+ value:request.query.value,
366
+
367
+ data:request.query.data
368
+
369
+ }
370
+
371
+ };
372
+
373
+ var options_2 = {
374
+
375
+ host: sample.com/,
376
+
377
+ port: ****,
378
+
379
+ method: 'POST',
380
+
381
+ contentType: 'text/plain',
382
+
383
+ headers: {
384
+
385
+ email: request.query.email,
386
+
387
+ value:request.query.value,
388
+
389
+ data:request.query.data
390
+
391
+ }
392
+
393
+ };
394
+
395
+ }
396
+
397
+
398
+
399
+
400
+
401
+ //---POST1---//
402
+
403
+ response.status(200).send(message);
404
+
405
+ const req = http.request(options, (res) => {
406
+
407
+ })
408
+
409
+ req.on('error', (e) => {
410
+
411
+ console.log('problem with request: ' + e.message);
412
+
413
+ response.status(404).send(message);
414
+
415
+ });
416
+
417
+
418
+
419
+    //---POST2---//
420
+
421
+ response.status(200).send(message);
422
+
423
+ const req = http.request(options_2, (res) => {
424
+
425
+ })
426
+
427
+ req.on('error', (e) => {
428
+
429
+ console.log('problem with request: ' + e.message);
430
+
431
+ response.status(404).send(message);
432
+
433
+ });
434
+
435
+ req.end();
436
+
437
+
438
+
439
+ })
440
+
441
+ .catch(error => {
442
+
443
+ response.status(404).send(message)
444
+
445
+ })
446
+
447
+
448
+
449
+
450
+
451
+ } else {
452
+
453
+ response.status(400).send(message);
454
+
455
+ }
456
+
457
+
458
+
459
+ });
460
+
461
+
462
+
463
+ ```

5

タイトルと内容が一致するように修正

2018/09/03 03:00

投稿

moroheia
moroheia

スコア14

test CHANGED
@@ -1 +1 @@
1
- Google Firebaseから複数箇所へPOSTリクエストする
1
+ Javascriptで複数箇所へPOSTリクエストする
test CHANGED
File without changes

4

問題点について説明が不足していたため、内容を追加しました。

2018/09/03 02:24

投稿

moroheia
moroheia

スコア14

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,13 @@
12
12
 
13
13
 
14
14
 
15
+ しかし、現在③の内容で[サイトX]にしか送信できておりません。
16
+
17
+ これを、同時に二箇所へ送信するようにしたいです。
18
+
19
+
20
+
15
- この時[サイトX] へはHTTP通信、 [サイトY] へはHTTPS通信で同じ内容をPOSTで送りたいです。
21
+ また、この時[サイトX] へはHTTP通信、 [サイトY] へはHTTPS通信で同じ内容をPOSTで送りたいです。
16
22
 
17
23
  それは可能でしょうか。
18
24
 

3

説明文追加の追加

2018/09/03 02:19

投稿

moroheia
moroheia

スコア14

test CHANGED
File without changes
test CHANGED
@@ -4,11 +4,11 @@
4
4
 
5
5
 
6
6
 
7
- ①[サイトA] から [サイトB] へGETリクエストを行う。
7
+ ①[サイトA] から [サイトB](Firebase) へGETリクエストを行う。
8
8
 
9
9
  ②[サイトB] では、 [サイトA] から受け取った内容を処理してJSONデータを作る
10
10
 
11
- ③②の内容を[サイトX] と [サイトY] のそれぞれへPOSTリクエストを送る。
11
+ ③②の内容を [サイトB] から [サイトX] と [サイトY] のそれぞれへPOSTリクエストを送る。
12
12
 
13
13
 
14
14
 
@@ -22,7 +22,7 @@
22
22
 
23
23
 
24
24
 
25
- ### 以下がFirebaseの内容です。
25
+ ### 以下が[サイトB](Firebaseの内容です。
26
26
 
27
27
  ```ここに言語を入力
28
28
 

2

セキュリティ的に記載したくない内容を含んでしまっていたため

2018/08/31 05:59

投稿

moroheia
moroheia

スコア14

test CHANGED
File without changes
test CHANGED
@@ -92,13 +92,9 @@
92
92
 
93
93
  email: request.query.email,
94
94
 
95
- code: code,
95
+ value:request.query.value,
96
96
 
97
- device: request.query.device,
97
+ data:request.query.data
98
-
99
- action: request.query.action,
100
-
101
- version: version_num
102
98
 
103
99
  }
104
100
 

1

説明文追加

2018/08/31 05:54

投稿

moroheia
moroheia

スコア14

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,13 @@
12
12
 
13
13
 
14
14
 
15
- この時、[サイトX] へはHTTP通信、 [サイトY] へはHTTPS通信でPOST送りたいです。
15
+ この時、[サイトX] へはHTTP通信、 [サイトY] へはHTTPS通信で同じ内容をPOST送りたいです。
16
+
17
+ それは可能でしょうか。
18
+
19
+
20
+
21
+ ご確認宜しくお願いします。
16
22
 
17
23
 
18
24