שליחת בקשת Http מקומפוננטה פשוטה

zahalul

New member
שליחת בקשת Http מקומפוננטה פשוטה

קוד:
import { Component, OnInit } from '@angular/core';
import {Http, Response} from '@angular/http';

@Component({
  selector: 'app-hello-world',
  templateUrl: './hello-world.component.html',
  styleUrls: ['./hello-world.component.css']
})
export class HelloWorldComponent implements OnInit {

  constructor() {
    console.log(`Adding article title`);
  }

  ngOnInit() {
  }

}
שלום,

יצרתי component שמציג Hello. אני רוצה שבעקבות הצגת Hello תישלח בקשת Http ל- Ip,port מסוים שבה יישלח קלאס Json אותו אני ממלא. גם התשובה תגיע ב- Json.

האם תוכלו לשלוח דוגמה ?

תודה מראש,
צהלול
 

zahalul

New member
עדכון

קוד:
ngOnInit(): void {
    console.log (`HelloWorldComponent ngOnInit`);
    // Make the HTTP request:
    this.http.get('/api/items').subscribe(data => {
      // Read the result field from the JSON response.
      this.results = data['results'];
    });
  }
זו דוגמה שמצאתי.
נראה לי שחסר לי ידע רב בנושא Http.
אני בסך הכל רוצה לשלוח בקשה ולקבל מידע חזרה.
מה זה subscribe ?

תודה,
צהלול
 

zahalul

New member
איך ניתן לשלוח get לפורט אחר ?

ב- PC אני מריץ גם HttpServer ב- C# שאמור לקבל בקשות.
ה- Server הזה רץ על פורט 8080

איך ה- Angular יכול לשלוח בקשות לפורט הזה ?

תודה,
צהלול
 
לפי הזכור לי, אין אפשרות לפנות לפורט או לדומיין שונים

מהנוכחיים בפניות ajax, מסיבות של אבטחה.
&nbsp
 

zahalul

New member
הסיבה לצורך בפניה לפורט אחר

אפליקציית ה-Angular שרצה תחת ה- web server צריכה לתקשר עם Agent נפרד שכתוב ב- ++C.

ה- Agent ממתין לבקשות Http ועונה בהתאם.

איך אפשר לממש דבר כזה ?

תודה,
צהלול
 
פרוקסי

לא יודע באיזה שרת אתה משתמש, בapache ניתן להפעיל mod_proxy שיתעל פנייות לuri מסויים אל port או uri חיצוני.
 

zahalul

New member
אני עובד גם ב- windows וגם ב- vxWorks

וגם בלינוקס.
אני מחפש דרך גנרית לבצע את ה- proxy הזה. לא אכפת לי לממש אותו לבד.

תודה רבה,
צהלול.
 

zahalul

New member
אני עובד במספר מערכות הפעלה

אני רוצה לפתח Web Service ב- C++ שניתן יהיה במאמץ קטן לשכתב אותו כך שיעבוד תחת לינוקס וגם vxWorks (מערכת הפעלה RT).

C++ (או C) הוא המכנה המשותף היחיד (שידוע לי) בין מערכות ההפעלה הנ"ל.
בקשת ה- HTTP תגיע מה- Angular ל- Web Server (למשל Apache בלינוקס) ומשם ל- Web Service.

תודה מראש,
צהלול
 

FreeSoft

New member
אני חושב שנשאלת על שרת האינטרנט

ולא על מערכת ההפעלה.

אגב, node.js יבצע בקלות את מה שאתה מבקש.
 
במקרה זה שלב בו פרוקסי משלך.

אני מבין שאתה מאלה שנהנים לרוץ מרתון על הברכיים והמרפקים.
 
שאלתי על השרת, לא על מערכת ההפעלה.

עבור אפצ'י - התשובה ברורה מאד: mod_proxy. כך תוכל לפנות לאותו הפורט באותה הכתובת, האפצ'י ינתב ויחזיר לך תשובה. אם אתה משתמש באפצי' - ה"טריק" הזה יעבוד גם בחלונות וגם בלינוקס.
&nbsp
חלופה איתה אין לי נסיון - לכתוב את הקוד שלך כך שניתן יהיה לטעון אותו לאפצ'י כמודול.
&nbsp
אני לא מספיק מכיר את VW כדי לדעת אם אפצ'י רץ עליו, ומה קורה עם המודולים.
 
למעלה